0

我有以下命令:

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?

4

2 回答 2

0

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

for %f in ("C:\Bob\WithBlank\NeuerOrdner3\*.txt") do (
  "C:\WINDOWS\7za.exe" a -t7z "%~dpnf.7z" "%~ff"
)
于 2013-02-22T13:18:00.957 回答
0

从 .BAT 文件运行它:

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

7z 文件将与原始文件同名

于 2020-08-29T14:34:00.967 回答