If statement ';其他';未被识别为内部或外部命令、可操作程序或批处理文件

If statement ';其他';未被识别为内部或外部命令、可操作程序或批处理文件,if-statement,batch-file,cmd,If Statement,Batch File,Cmd,我尝试使用with“else”命令,但出现以下错误: “else”未被识别为内部或外部命令, 可操作的程序或批处理文件。 我的代码是: if "zz"=="TRUE" ( copy /a zz + /a ee=/a zz ) else ( copy /a e + /a %TMP%=/a e ) 问题出在哪里?如果,则的else需要与在同一“行”(a)上。删除else前面的新行,如下所示: if "zz"=="TRUE" ( co

我尝试使用with“else”命令,但出现以下错误:

“else”未被识别为内部或外部命令, 可操作的程序或批处理文件。

我的代码是:

if "zz"=="TRUE" (
        copy /a zz + /a ee=/a zz
    ) 
    else (
        copy /a e + /a %TMP%=/a e
    )

问题出在哪里?

如果
,则
的else
需要与
在同一“行”(a)上。删除
else
前面的新行,如下所示:

if "zz"=="TRUE" (
    copy /a zz + /a ee=/a zz
) else (
    copy /a e + /a %TMP%=/a e
)
还请注意,
“zz”==“TRUE”
将永远不会计算为
TRUE
-我怀疑您的意思是
“%zz%”==“TRUE”



(a) :这并不总是一个好的描述,尽管它是Microsoft文档使用的。同一个命令可能更好,将
else
放在另一行会将其分成两个命令。

我不认识我担心的语言(因此我自己无法编辑),你能添加一个标签来吸引熟悉它的用户吗?“else”可能仅仅因为它们是特定于语言的,所以无法识别-您不需要指定使用哪种语言、使用哪种环境这是对短语“同一行”的一种相当自由的解释,但这是我从
cmd
:-)+1中得到的正确答案,如果不是非常完美的措辞。@paxdiablo这不是最好的措辞,但是它是直接从
IF/?
获取的。具体来说,“ELSE子句必须与IF后面的命令出现在同一行。”然后它给出了一个与上述代码几乎相同的示例。正如你所说的,批处理过程中的PAR;我试着把它说得更清楚一点,虽然今天下午我喝了几杯啤酒——我可能让事情变得更糟了:-)你可能想检查一下。我更喜欢“逻辑线”这个短语——它可能被分成几个物理线。