Batch file 什么是&&&引用;你在这个批处理文件中做什么?

Batch file 什么是&&&引用;你在这个批处理文件中做什么?,batch-file,cmd,syntax,Batch File,Cmd,Syntax,我收到了一行代码,其中有人回答了我的一个问题,但我很困惑:“&&”在这个批处理文件中做了什么 @echo关闭 set/p Quest=“你今天好吗?” echo%Quest%>Results.txt findstr/r/i“not.*good not.*well”Results.txt>nul&&echo抱歉&goto暂停 findstr/i“good well”Results.txt>nul&&echo我的一天也过得很好 :暂停 暂停 &&在第一个命令成功返回或错误级别为0时运行第二个命令。与

我收到了一行代码,其中有人回答了我的一个问题,但我很困惑:“&&”在这个批处理文件中做了什么

@echo关闭
set/p Quest=“你今天好吗?”
echo%Quest%>Results.txt
findstr/r/i“not.*good not.*well”Results.txt>nul&&echo抱歉&goto暂停
findstr/i“good well”Results.txt>nul&&echo我的一天也过得很好
:暂停
暂停

&&
在第一个命令成功返回或错误级别为0时运行第二个命令。与
&
相反的是
|
,它在第一个命令失败时运行第二个命令,或者错误级别为1。

&在一行上分隔命令。
&&仅当上一个命令的errorlevel为0时才执行此命令。
||(上面未使用)仅当上一个命令的errorlevel不是0时才执行此命令
>输出到文件
>>将输出附加到文件
<从文件输入
|将一个命令的输出转换为另一个命令的输入
^如果需要传递给程序,则转义上述任何一项,包括转义本身
“带空格的参数必须用引号括起来
+与copy一起用于连接文件。例如,copy file1+file2 newfile
,与“复制”一起使用以指示缺少的参数。这将更新文件的修改日期。例如,“复制/b文件1,”,,
%variablename%a内置或用户设置的环境变量
!variablename!用户设置的环境变量在执行时展开,使用SetLocal EnableDelayedExpansion命令打开
%(%1)传递给批处理文件的第n个命令行参数。%0是批处理文件的名称。
%*(*)整个命令行。
%或%%(%A或%%A)for循环中的变量。在命令提示下单%s签名,在批处理文件中双%s签名。

Wow,@Mathemats感谢您将我链接到该网站,它提供了我所需的一切。这绝对是一个良好的开端,但请注意,其中有很大一部分已经过时或过时-例如,
debug
页面上的所有内容。@SomethingDark好的,我会在从中学习的同时牢记这一点。“eqivalent to”“当使用输出重定向时,该页面上的列不是等价的,请参阅本文:感谢您的澄清,真的很有帮助这里有一个Win XP(lol)的参考页面,但仍然包含有用的信息@user4317867链接是broken@Spandy:谢谢你的列表。谢谢你把所有这些放在一个地方。我不明白逗号的描述。复制/b文件1,返回“文件无法复制到自身”。我从命令行运行它。它是否会与批处理文件中的命令有所不同?它来自何处?关于一个符号和&“用于在一个命令行上分隔多个命令。Cmd.exe运行第一个命令,然后运行第二个命令”的说明。因此,我理解,使用&分隔的命令与使用&&一样顺序运行,但它们始终运行(无论先前命令的错误级别)-信息很好,但来源是什么?