我正在尝试创建一个cmd
脚本,以递归方式遍历目录并单独压缩每个文件。我在这里完成了:
for /R %%b IN (*.*) do ( "C:\Program Files\WinRAR\WinRAR.exe" a "%%~nb.zip" "%%b" )
但是,我想将 zip 文件保留在原始文件夹结构中,并将结果放在与原始文件夹不同的文件夹中。例如:
前:
/original
/some_files
file-1.txt
file-2.txt
后:
/original
/some_files
file-1.txt
file-2.txt
/packed
/some_files
file-1.zip
file-2.zip
有人对如何改变原文有什么建议吗?
答案1
我能找出一些接近的东西:
for /R %%b IN (*.*) do ("C:\Program Files\WinRAR\WinRAR.exe" a -ibck "%%~pb\%%~nb.zip" "%%b" )
它在它们所在的目录中创建 zip 文件。我之前可以添加正确的路径,%%~pb
但它目前提取完整路径“C:\Users\Matt...”,所以我可能需要一些不同的东西。
-ibck
让 WinRAR 在后台运行。
但这足以解决我的问题。