使用 WinRAR 命令行(C:\Program Files\WinRAR\Rar.exe
),我尝试做的是将主文件夹(C:\Users\%username%\desktop\mainFolder
)中的单个文件夹压缩为新文件夹(C:\Users\%username%\desktop\newFolder
)并在主文件夹中删除压缩后的单个文件夹。
这样 ONLY 每次启动.bat时都会压缩第一个子文件夹
到目前为止,它仅适用于主文件夹中的所有文件夹
c:
cd \Users\%username%\Desktop\newFolder
"C:\Program Files\WinRAR\Rar.exe" a -ep1 -mt5 -m1 -v50M -r "!_RndAlphaNum!" C:\Users\%username%\Desktop\mainFolder\
!_RndAlphaNum!
是因为我在批量启动时使用代码为.rar档案生成随机名称。
答案 0 :(得分:0)
这类似于Using a loop to rar multiple subfolders in a main folder,因此可以使用
轻松实现@echo off
for /D %%F in ("%USERPROFILE%\mainFolder\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v50M -r "%USERPROFILE%\desktop\newFolder\%_RndAlphaNum%" "%%~F"
goto Done
)
:Done
在处理第一个目录后,命令goto Done
导致断开FOR循环,并继续批处理作业Done
下方。
再次使用命令 m 代替 a 进行存档,然后删除打包到直接在目标文件夹中创建的存档文件中的所有文件和文件夹。