2013-02-22 85 views
0

我有follwing命令:7ZIP CMD行版本:如何对每个文件压缩成一个单独的档案从批处理文件

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

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

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

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

回答

0

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

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

试过了,根本没有什么反应。甚至没有错误信息? – Lumpi 2013-02-22 13:24:33

+0

当我在PowerShell中试用时,我得到了“Missing opening”('after keyword'for'。“)为什么! – Lumpi 2013-02-22 14:24:59

+0

@Lumpi由于CMD不是PowerShell,如果你在CMD中运行我的代码并且它什么都不做,那么你的路径不存在或者它不包含.txt文件。 – 2013-02-22 17:05:20

相关问题