【问题标题】:Using a loop to rar multiple subfolders in a main folder使用循环 rar 主文件夹中的多个子文件夹
【发布时间】:2015-05-24 11:12:20
【问题描述】:

我有一个包含 3 个子文件夹的主文件夹 ...

  • C:\Users\Admin\文件夹
    • 文件夹 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\*.*"

【问题讨论】:

  • first 子目录是什么?以下描述不清楚:after copy Folder 1 have to be delete in the main folder and then rar the Folder.
  • 例如:在 "C:\Users\Admin\Folder\" 中是子文件夹 1-3 "Folder1 Folder2 Folder3" ... 与 "after copy Folder 1" 我的意思是在子文件夹1复制到新目录“c:\temp\Folder”用于Rar进程,可以在主文件夹“C:\Users\Admin\Folder”中删除
  • 向上调整,希望现在可以理解了。 regs

标签: loops batch-file rar


【解决方案1】:

打开命令提示符窗口,键入并执行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\文件夹
    文件夹1.rar
    文件夹2.rar
    文件夹3.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"
)

我认为这里不需要将每个文件夹复制到临时文件夹中只是为了存档。

【讨论】:

  • 首先谢谢你,现在我有这个c: cd \Users\Admin\Folder "C:\Program Files\WinRAR\Rar.exe" a -ep1 -mt5 -m1 -v100M -r -df "Description" "C:\Users\Admin\NewFolder\*.*我尝试winrar只抓取Folder1将它拆分到一个新文件夹\Users\Admin\NewFolder而不是删除Folder1 -df\Users\Admin\Folder下所以还有Folder2 、Folder3 和start my.bat 再次处理下一个文件夹(Folder2)...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
相关资源
最近更新 更多