7zip cmd行版本:如何将每个文件从批处理文件压缩为单独的存档

时间:2013-02-22 10:46:28

标签: vba cmd 7zip

我有以下命令:

for %f in (*.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f"

我从vba脚本发送到cmdprompt。这有效,但现在我必须包含执行压缩的文件夹的路径。我这样做:

for %f in (usebackq "C:\Bob\WithBlank\NeuerOrdner3\" *.txt) do "C:\WINDOWS\7za.exe" a -t7z "%f.7z" "%f"

为什么我会得到一个包含所有* .txt文件的zip文件,而不是每个txt文件一个zip文件?

2 个答案:

答案 0 :(得分:0)

我不知道为什么你的第二个命令行将所有文件放入一个档案中,但usebackq不属于括号内。这应该有效:

for %f in ("C:\Bob\WithBlank\NeuerOrdner3\*.txt") do (
  "C:\WINDOWS\7za.exe" a -t7z "%~dpnf.7z" "%~ff"
)

答案 1 :(得分:0)

从.BAT文件运行它:

for %%a in (*.xml) do "\Program Files\7-Zip\7z.exe" a "%%~na.7z" "%%a"

7z文件将具有与原始文件相同的名称