%% A此时出人意料

kli*_*ijo 41 windows command-line

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

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

但是Windows说这个命令无效.

错误信息是

%%A was unexpected at this time
Run Code Online (Sandbox Code Playgroud)

我该如何克服这个问题?

Roy*_*mir 78

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

尝试删除一个 '%'

  • 另外应该注意的是,您似乎不能使用 %file 之类的东西。参数似乎只允许单个字母。 (2认同)

aro*_*oss 5

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

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