Answers:
FOR /r %%X IN (*) DO (ECHO %%X & DEL %%X)
&&不是&吗?
&&如果第一个命令失败,@ jww 将失败,&无论如何将执行第二个命令。
DOparen。您可以通过^在它们后面加上a 来逃避它们。
&对于简短的命令,可以使用,但是单行可以很快很长。发生这种情况时,请切换到多行语法。
FOR /r %%X IN (*.txt) DO (
ECHO %%X
DEL %%X
)
安置(和)事项。之后的圆括号DO必须放在同一行上,否则批处理文件将不正确。
有关if /?|find /V ""详细信息,请参见。
DO切勿将下划线后的圆括号放在下一行,否则会破坏批处理文件。在代码中,当我编写for循环时,通常将大括号放在{下一行。
SilverSkin和Anders都是正确的。您可以使用括号来执行多个命令。但是,您必须确保命令本身(及其参数)不包含括号。cmd贪婪地搜索第一个右括号,而不是优雅地处理嵌套的括号集。这可能导致命令行的其余部分无法解析,或者可能导致某些括号传递给命令(例如DEL myfile.txt))。
一种解决方法是将循环的主体拆分为一个单独的函数。请注意,您可能需要跳过函数主体,以免“掉进”函数主体。
FOR /r %%X IN (*.txt) DO CALL :loopbody %%X
REM Don't "fall through" to :loopbody.
GOTO :EOF
:loopbody
ECHO %1
DEL %1
GOTO :EOF
C:\Program Files (x86)。
for %i in (1 2 3) do echo %i & echo foo打印我期望的:“ 1”,“ foo”,“ 2”,“ foo”,“ 3”,“ foo”(在单独的行上)。