批处理文件参数中的百分号(%和%%)是什么意思?

Modified on: Thu, 06 Dec 2018 19:20:02 +0800

我想我错过了一些东西,因为我似乎无法找到这意味着什么。

示例:for / D %% A in(*)do“\ 7za.exe”u -t7z -m9 = LZMA2“%% A.7z”“%% A”

该行应该使用7zip的命令行版本来压缩单个文件夹,但我很难理解%% A在此上下文中的含义。

作者:,Jim Kieger

最佳答案

< code> for命令需要一个占位符,所以你可以传递变量以供以后在查询中使用,我们告诉它使用占位符for,原因代码你saw使用%A是因为在批处理文件中(我假设是你发现这个),%%A具有特殊含义,所以你必须做两次%所以它被转入一个%%以传递给%命令

要实际分解命令正在执行的操作,命令有两个部分:

 for /D %%A in (*) do .....

这部分说明当前文件夹中的每个文件夹执行以下命令,将 for /D %%A in (*) do ..... 替换为当前处理文件夹的名称。

..... "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"

这部分说的是执行命令..... "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A" 并替换两个"\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"与我们正在处理的当前记录。


相关问答

添加新评论