我想压缩一个包含文件的文件夹。因此,为了做到这一点,我需要遍历整个文件列表并执行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我如何克服这个问题?
发布于 2012-02-16 20:52:53
在使用批处理程序(*.bat)时使用%%A
尝试删除一个'%'
发布于 2012-02-16 20:56:31
如果您从命令行执行此操作,则不必转义%,因此%a就足够了。您只需要使用批处理文件中的%%a。
此外,您还希望选择文件,而不是以命令的形式执行"G:\Files Sample\zip\txt\*.txt“,这就是/f开关结合单引号执行的操作。完整的命令是:for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"
发布于 2012-02-16 20:59:09
在批处理文件中尝试此操作。
FOR "G:\Files Sample\zip\txt\" %%G IN (*.txt) DO 7za -tzip "%%G.zip" "%%G"Add /R as选项用于搜索所有子文件夹中的文件。
你可以在ss64上找到关于cmd方法的一个很好的解释
https://stackoverflow.com/questions/9311562
复制相似问题