对于 Windows 批处理脚本、快捷方式和其他非实时 cmd 方法来说,双与号 (&&) 真的有必要吗?

dec*_*247 3 windows command-line cmd batch-file

这个问题基于 @ZaLiTHkA\ 对运行 cmd 命令顺序问题的接受答案的答复,如下所示。

\n\n
\n

只是为了清楚起见:您应该注意&此处的单个符号明确表示实时命令提示符。当通过传递要作为脚本执行的字符串(快捷方式、批处理文件等)来运行命令时,则&&需要 double \xe2\x80\x93 ZaLiTHkA Apr 3 \'14 at 20:28

\n
\n\n

&&运行脚本命令(即快捷方式或批处理文件)真的有必要吗?我发现我仍然能够运行一个简单的命令,例如:cmd /k echo foo & echo bar在运行窗口中并执行同一目标/命令的快捷方式,没有问题。希望有任何澄清或文档明确说明为什么以及是否 &&实际上是批处理脚本的推荐方法,因为它似乎也&可以工作。

\n\n

&&注意:这不是一个区分和定义之间差异的问题&,而是为什么需要 && 正如@ZaLiTHkA\'s 非常明显的赞成评论所指出的。

\n

jeb*_*jeb 5

\n

只是为了清楚起见:您应该注意此处的单个 & 符号\n 明确表示实时命令提示符。当通过传递要作为脚本执行的字符串(快捷方式、批处理文件等)来运行命令时,需要使用双 && 。\xe2\x80\x93 ZaLiTHkA 2014 年 4 月 3 日 20:28

\n
\n\n

评论纯属无稽之谈!

\n\n

&正如答案已经解释的那样,和之间存在语义差异&&

\n\n

这仅取决于意图,应该使用哪一种。

\n\n

在 的情况下echo a & echo b,没有充分的理由使用&&它,因为第二个echo应该独立于第一个执行echo

\n\n

在这种情况下,当失败时,cd C:\\myDir\\ && del *.*明智的做法是&&防止在某处进行不必要的删除cd

\n\n

我对此也发表评论。

\n

  • 换句话说,当使用commandX && commandY时,commandY仅在commandX成功时才被执行; (3认同)