如何终止单行CMD“ DO”命令(修订)

时间:2018-10-27 05:00:58

标签: batch-file cmd

我有以下几行CMD代码(不是批处理):

for /l %A in (1,1,2) do (echo "in loop") & echo "out loop; this should only be echoed once"

基本上,那些括号(至少我认为)是结束循环代码并在do命令的外部开始新命令的地方;但是,这似乎没有发生。

如果有人可以告诉我如何终止do语句以在循环后单独执行最后一个echo命令,而不是在循环的每次迭代时仍保持单线执行,将不胜感激。

谢谢您的时间。

1 个答案:

答案 0 :(得分:2)

整个 FOR 命令行必须用括号括起来,然后附加的 ECHO 命令可以附加运算符&,以便在< strong> FOR 循环。

命令行:

(for /L %A in (1,1,2) do @echo in loop) & @echo out loop; this should only be echoed once

批处理文件:

@echo off
(for /L %%A in (1,1,2) do echo in loop) & echo out loop; this should only be echoed once

echo in loop执行的单个命令for不需要放在括号中。

另请参阅How does the Windows Command Interpreter (CMD.EXE) parse scripts?