我需要压缩文件夹和子文件夹内的所有文件Bak,并在每个压缩作业结束时删除bak文件。 我写了这样的东西,但它不起作用:
for /F %%f in ('dir /s /b *.bak') do goto=1 :1 "7za.exe" a -t7z -mx3 "%%f.zip" "%%f" del "%%f"
这也应该这样做,function方式:
for /F %%f in ('dir /s /b *.bak') do call :myfunc %%f goto :eof :myfunc 7za.exe a -t7z -mx3 "%1.7z" "%1" del "%1" goto :eof
从我的头顶来看,目前我不在Windows环境中,所以我无法validation:
for /F %%f in ('dir /s /b *.bak') do ( 7za.exe a -t7z -mx3 "%%f.7z" "%%f" del "%%f" )
请注意,我更改了文件的扩展名。
用-t7z你正在创build一个7z文件:不是一个zip文件。
-mx9会给你更好的压缩方式,但是会花费更长的时间。