使用循环来 rar 主文件夹中的多个子文件夹
Using a loop to rar multiple subfolders in a main folder
我有一个包含 3 个子文件夹的主文件夹...
- C:\Users\Admin\Folder
- 文件夹1
- 文件夹 2
- 文件夹 3
我希望批处理脚本抓取第一个子目录 Folder1
,将其复制到另一个位置,例如 C:\Temp\Folder
然后 WinRAR 开始压缩Folder1
。将 Folder1
复制到其他位置后,可以在主文件夹中将其删除。
在WinRAR完成压缩后Folder1
也可以在C:\Temp\Folder
中删除。所以只剩下 .rar 文件了。
然后脚本从 Folder2
开始,和 Folder1
一样。
到目前为止我只有这个,并不知道如何实现上面的内容。
"C:\Program Files\WinRAR\Rar.exe" a -ep1 -mt5 -v50M -r -df "NAME-OF-THE-RAR-FILE" "C:\Users\Admin\Folder\*.*"
打开命令提示符 window,键入并执行 for /?
并阅读此命令的帮助输出。选项 /D
已在第一个帮助页面上进行了解释,该页面用于在目录的每个子目录上执行命令。
下面的批处理文件使用控制台版本 WinRAR 和命令 m 将 C:\Users\Admin\Folder
中的每个子文件夹存档(移动 = 存档并在成功时删除)而不是命令 a 和开关 -df.
@echo off
for /D %%F in ("C:\Users\Admin\Folder\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -cfg- -ep1 -inul -m5 -mt5 -r -tl -v50M -y "%%~F.rar" "%%~F\"
rd "%%~F"
)
所以结果是
- C:\Users\Admin\Folder
Folder1.rar
Folder2.rar
Folder3.rar
根据文件夹中所有文件的大小以及归档每个文件夹需要多少 50 MB 卷,归档和删除文件夹后文件夹可以包含更多文件。
文件夹名称 Folder1
未包含在文件 Folder1.rar
中,因为第三行末尾最后一个参数 "%%~F\"
中的反斜杠。
如果文件夹名称 Folder1
也应包含在存档文件 Folder1.rar
中,批处理文件会更容易
@echo off
for /D %%F in ("C:\Users\Admin\Folder\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -cfg- -ep1 -inul -m5 -mt5 -r -tl -v50M -y "%%~F.rar" "%%~F"
)
我认为这里没有必要将每个文件夹复制到一个临时文件夹只是为了存档。
我有一个包含 3 个子文件夹的主文件夹...
- C:\Users\Admin\Folder
- 文件夹1
- 文件夹 2
- 文件夹 3
我希望批处理脚本抓取第一个子目录 Folder1
,将其复制到另一个位置,例如 C:\Temp\Folder
然后 WinRAR 开始压缩Folder1
。将 Folder1
复制到其他位置后,可以在主文件夹中将其删除。
在WinRAR完成压缩后Folder1
也可以在C:\Temp\Folder
中删除。所以只剩下 .rar 文件了。
然后脚本从 Folder2
开始,和 Folder1
一样。
到目前为止我只有这个,并不知道如何实现上面的内容。
"C:\Program Files\WinRAR\Rar.exe" a -ep1 -mt5 -v50M -r -df "NAME-OF-THE-RAR-FILE" "C:\Users\Admin\Folder\*.*"
打开命令提示符 window,键入并执行 for /?
并阅读此命令的帮助输出。选项 /D
已在第一个帮助页面上进行了解释,该页面用于在目录的每个子目录上执行命令。
下面的批处理文件使用控制台版本 WinRAR 和命令 m 将 C:\Users\Admin\Folder
中的每个子文件夹存档(移动 = 存档并在成功时删除)而不是命令 a 和开关 -df.
@echo off
for /D %%F in ("C:\Users\Admin\Folder\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -cfg- -ep1 -inul -m5 -mt5 -r -tl -v50M -y "%%~F.rar" "%%~F\"
rd "%%~F"
)
所以结果是
- C:\Users\Admin\Folder
Folder1.rar
Folder2.rar
Folder3.rar
根据文件夹中所有文件的大小以及归档每个文件夹需要多少 50 MB 卷,归档和删除文件夹后文件夹可以包含更多文件。
文件夹名称 Folder1
未包含在文件 Folder1.rar
中,因为第三行末尾最后一个参数 "%%~F\"
中的反斜杠。
如果文件夹名称 Folder1
也应包含在存档文件 Folder1.rar
@echo off
for /D %%F in ("C:\Users\Admin\Folder\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -cfg- -ep1 -inul -m5 -mt5 -r -tl -v50M -y "%%~F.rar" "%%~F"
)
我认为这里没有必要将每个文件夹复制到一个临时文件夹只是为了存档。