我有以下几行CMD代码(不是批处理):
for /l %A in (1,1,2) do (echo "in loop") & echo "out loop; this should only be echoed once"
基本上,那些括号(至少我认为)是结束循环代码并在do
命令的外部开始新命令的地方;但是,这似乎没有发生。
如果有人可以告诉我如何终止do
语句以在循环后单独执行最后一个echo
命令,而不是在循环的每次迭代时仍保持单线执行,将不胜感激。
谢谢您的时间。
答案 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?