'else'不被识别为内部或外部命令,可操作程序或批处理文件

zip*_*ipi 27 cmd if-statement batch-file

我尝试使用"else"命令,但我收到了以下错误:

'else'不被识别为内部或外部命令,可操作程序或批处理文件.

我的代码是:

if "zz"=="TRUE" (
        copy /a zz + /a ee=/a zz
    ) 
    else (
        copy /a e + /a %TMP%=/a e
    )
Run Code Online (Sandbox Code Playgroud)

有什么问题?

RB.*_*RB. 62

else需要是在同一"行" 的(a)if.在删除之前删除新行else:

if "zz"=="TRUE" (
    copy /a zz + /a ee=/a zz
) else (
    copy /a e + /a %TMP%=/a e
)
Run Code Online (Sandbox Code Playgroud)

请注意,"zz"=="TRUE"永远不会评估true- 我怀疑你的意思"%zz%"=="TRUE"


(a):这并不总是一个很好的描述,尽管它是微软文档使用的.同样的命令可能是更好的,并把)else在另一条线路断成2级的命令.

  • 这是对"同一行"这个短语的一种相当自由的解释,但正如我所期望的那样,对于正确的答案,我希望`cmd` :-) +1,如果不是非常完美的措辞. (3认同)