%% A此时出人意料

时间:2012-02-16 12:50:23

标签: windows command-line

我想压缩包含文件的文件夹。所以为了做到这一点,我需要遍历整个文件列表并执行7za命令。 (7zip命令行版本)

for /f %%A in ('"G:\Files Sample\zip\txt\*.t
xt"') do 7za -tzip "%%A.zip" "%%A"

但是Windows说这个命令无效。

错误讯息是

%%A was unexpected at this time

我如何克服这个问题?

3 个答案:

答案 0 :(得分:76)

使用批处理程序(* .bat)时使用

%%A

尝试删除一个'%'

答案 1 :(得分:3)

如果从命令行执行此操作,则不必转义%,因此%a就足够了。您只需要使用批处理文件中的%%a

此外,您想要选择文件而不是执行“G:\ Files Sample \ zip \ txt \ * .txt”作为命令,这是/f开关与单引号结合使用的操作。完整命令为:for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

答案 2 :(得分:0)

在批处理文件中尝试此操作。

FOR "G:\Files Sample\zip\txt\" %%G IN (*.txt) DO  7za -tzip "%%G.zip" "%%G"

添加/R作为搜索所有子文件夹中文件的选项。

您可以在ss64

找到的cmd方法的一个很好的解释