%% A在这个时候是意外的

我想压缩包含文件的文件夹。 所以为了做到这一点,我需要遍历整个文件列表并执行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 

我如何克服这个问题?

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

尝试删除一个'%'

如果你是从命令行执行的,你不必转义%,所以%a就足够了。 你只需要从batch file中使用%%a

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

在batch file中试试这个。

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

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

你可以在ss64find一个很好的解释