我想压缩包含文件的文件夹。所以为了做到这一点,我需要遍历整个文件列表并执行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
我如何克服这个问题?
答案 0 :(得分:76)
%%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方法的一个很好的解释