如何使用Windows批处理文件批量解压文件并保存到指定文件夹?

How to use Windows Batch File to mass unzip files and saving them in specific folders?

我从这个 link 得到了批量解压的代码。但它会解压缩批处理文件所在文件夹中的所有内容。我希望它将其解压缩到特定文件夹或其单个文件夹。

注意:我的 bz2 文件位于批处理文件所在文件夹之外的各种文件夹中。

这是我使用的脚本:

for /R "C:\Users\victor\Desktop\MASTERS\color feret\disc 1\data\images" %%I in ("*.bz2")
do ("%ProgramFiles%\WinRAR\WinRAR.exe" x -y -o"%%~dpnI" "%%~fI")

有人能教教我怎么做吗? 如果可能的话,任何人都可以向我解释论点是什么吗? "x , -y -o %%dpnI " 等等 谢谢

您根本不需要此过程的批处理文件。启动WinRAR,select所有要解压的压缩包,点击工具栏中的Extract To,select基础目标文件夹,在 杂项 组中选中选项 将档案提取到子文件夹,然后按确定按钮。就是这样。

从控制台中的命令行 window 当前工作目录是包含所有要提取的 *.bz2 文件的目录:

"%ProgramFiles%\WinRAR\WinRar.exe" x -ad -y *.bz2 C:\Temp\

不需要 for 循环,因为 WinRAR 支持压缩文件名的通配符。

并使用选项 -ad 将存档文件 First.bz2 提取到文件夹 C:\Temp\First ,压缩包文件Other.bz2解压到C:\Temp\Other,依此类推。在 GUI 中勾选选项 Extract archives to subfolders,您可以使用选项 -ad.

WinRAR 的帮助包含页面开关 -AD - 将压缩文件名称附加到目标路径。在 帮助 菜单中单击 帮助主题 。在 Contents 选项卡上打开 Command line mode 并打开 CommandsSwitches. WinRAR 的程序文件文件夹中的文本文件 Rar.txt 包含命令 x 的描述以及选项 -ad-y 以及控制台版本 Rar.exe.

的所有其他命令和选项

但是如果你想使用 for 循环并想知道 %%~dpnI%%~fI 是什么意思,打开命令提示符 window,输入 help forfor /? 并阅读。