Board logo

标题: [求助] 请问这个标签可以写成一行吗? [打印本页]

作者: zouzhxi     时间: 2009-9-6 01:48    标题: [求助] 请问这个标签可以写成一行吗?

CODE:  [Copy to clipboard]
:r
cd/d wowo.20090906
call :loop "%~dp1"
rar a -r -o+ -ag[yyyymmdd] "%pt%.rar"
goto endok
:loop
for /f "tokens=1* delims=\" %%a in ("%~1") do (
   if "%%b"=="" (set pt=%%a) else call :loop "%%b"
)
goto :eof
在当前目录下移动到wowo.20090906文件夹内,打包所有文件,用移动的这个目录名做RAR文件的文件名,放到当前目录下

操作顺序为:

  Quote:
c:\ //当前目录
cd/d wowo.20090906 //移动到此目录
rar a -r -o+ -ag[yyyymmdd] "%pt%.rar" //pt为当前目录名,即wowo.20090906,并将此包放到当前目录下(即c:\目录下)
cd..

能写成一行的代码吗(连成一行也行)
作者: Hanyeguxing     时间: 2009-9-6 09:47
rar a -r -o+ -ag[yyyymmdd] wowo.20090906.rar wowo.20090906
这样就可以了,rar会自动压缩批处理所在目录下的wowo.20090906文件夹中的所有文件,并将压缩包放在批处理所在目录下
为什么要切换工作目录呢?我看不出:loop的目的...
作者: Hanyeguxing     时间: 2009-9-6 10:02
我想wowo.20090906是自动按日期生成的,可以这样:
CODE:  [Copy to clipboard]
RAR a -r -o+ -ag.yyyymmdd wowo.rar wowo.%date:~0,4%%date:~5,2%%date:~8,2%

作者: zouzhxi     时间: 2009-9-7 03:45
wowo.20090906是随意的文件夹,我选中哪个就是哪个。
作者: zouzhxi     时间: 2009-9-7 03:48
其实我想写一个右键的"压缩RAR包",这样我就可以不装RAR软件了,哈哈
选中哪个就压缩哪个目录下的所有文件(包括子目录)
放到当前目录下,这个压缩包的名字与这个目录名名字相同
作者: tireless     时间: 2009-9-7 06:09
保存为 bat(或 reg):
CODE:  [Copy to clipboard]
Windows Registry Editor Version 5.00

;@cls & regedit /s "%~f0" & exit /b

[HKEY_CLASSES_ROOT\Directory\shell\rar]
@="压缩RAR包"

[HKEY_CLASSES_ROOT\Directory\shell\rar\command]
@="cmd /c for %%a in (\"%1\") do @\"C:\\Program Files\\WinRAR\\Rar.exe\" a -r -o+ -ep1 -inul -ag.yyyymmdd \"%%~nxa.rar\" \"%1\""
[ Last edited by tireless on 2009-9-7 at 06:16 ]
作者: zouzhxi     时间: 2009-9-9 11:43
不能压缩,汗。。
作者: tireless     时间: 2009-9-9 12:52


  Quote:
Originally posted by zouzhxi at 2009-9-9 11:43 AM:
不能压缩,汗。。

修改了 rar 路径吗?那个批处理是添加右键的。




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5