使用命令行将文件单独打包为 .zip 格式,同时保留目录结构

使用命令行将文件单独打包为 .zip 格式,同时保留目录结构

我正在尝试创建一个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 在后台运行。

但这足以解决我的问题。

相关内容