【问题标题】:Why %% changes to single % in generated BATCH automatically?为什么 %% 在生成的 BATCH 中自动更改为单个 %?
【发布时间】:2014-09-07 16:53:49
【问题描述】:

我不明白为什么当我从主文件生成新的批处理文件时,一个参数 (%%A) 会自动更改为单个 (%A)

主批处理文件:

echo FOR %%A in (1k\*.txt) do ... (whatever) >> another.bat

结果我变成了一个新的 another.bat 单行:

FOR %A in (1k\*.txt)

而且这个 another.bat 不起作用。我该如何解决这个问题?

谢谢!

【问题讨论】:

    标签: windows variables batch-file command-line parameters


    【解决方案1】:

    要回显单个 %,您需要将其加倍为 %%

    要回显两个%,您需要重复两次,如%%%%

    【讨论】:

      【解决方案2】:

      for 命令可替换参数需要一个百分号,但在批处理文件中需要转义百分号,将百分号加倍。这就是您看到输出的原因。你写了两个字符,但它们只代表一个。你会在输出中得到一个。

      如果您需要输出中的两个百分比,则需要对它们中的每一个进行转义,因此您需要编写四个百分比符号以在输出中得到两个。

      【讨论】:

      • 感谢您的精彩回答!
      猜你喜欢
      • 1970-01-01
      • 2011-04-03
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      相关资源
      最近更新 更多