& [...] command1 & command2 用来分隔一个命令行中的多个命令。Cmd.exe 运行第一个命令,然后运行第二个命令。 
&& [...] command1 && command2 只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令运行成功时才运行第二个命令。 
|| [...] command1 || command2 只有在符号 || 前面的命令失败时,才用于运行符号 || 后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令未能运行成功(接收到大于零的错误代码)时才运行第二个命令。 

以上都是官方的帮助信息(引用于ntcmds.chm),最好用googl搜索下载一本。

命令概括:
& 一般念“and”。

参数详解:

1.先说说&

“用来分隔一个命令行中的多个命令”,官方的这种解释,其实是从解释器的角度出发的。如果按人的角度来说的话,应该是“连接多条命令”。

比如我要输出 hello 和 world 2行文本,用”&“将两条echo命令连接。

复制代码 代码如下:
@echo off
echo hello & echo world
pause

“&”在使用中最常出现的问题是变量延迟,关于这个问题,可以参考批处理for语句从入门到精通中关于这个知识点的部分。

2.再说说ErrorLevel

ErrorLevel由两个单词构成,一个Error(错误),一个Level(等级),如果综合这两个单词,字面意义其实就是”错误数量“或者”错误类型“。

如果命令执行成功,那么”错误数量“自然是零。如果执行失败,那么”错误数量“就是非零。

关于ErrorLevel的帖子:

批处理内部命令对错误返回码errorlevel的影响

对批处理中errorlevel的几点猜测

3.执行符号前的命令成功就执行符号后的命令

输出 hello 和 world 2行文本,用”&&“将两条echo命令连接。

复制代码 代码如下:
@echo off
echo hello && echo world
pause

执行的结果和用"&"链接两条命令时一模一样,那么”&“和"&&"功能一样吗?

答案是:它们的功能完全不同,这种一样的结果不过是一种巧合罢了。

”&“的作用不过是链接多条命令,而”&&“是为了判断符号前的命令是否执行成功,从而决定是否执行符号后的命令。

这里举一个例子来加以说明:

复制代码 代码如下:
C:\Users\helloworld\Desktop>start "" "111.txt" && echo hello
系统找不到文件 111.txt。

C:\Users\helloworld\Desktop>start "" "111.txt" & echo hello
系统找不到文件 111.txt。
hello

用start命令打开一个不存在的文件,由于文件是不存在的,所以start命令执行失败,这时用"&&"链接的命令”echo hello“没有执行,而用”&“链接的执行了。

”&&“的这种特性,让它成为了特殊的条件运算符。

4.执行符号前的命令失败就执行符号后的命令

&&的否定操作就是||。
例如:

复制代码 代码如下:
C:\Users\helloworld\Desktop>start "" "111.txt" || echo hello
系统找不到文件 111.txt。
hello

bat中的连接符的更多相关文章

  1. ASP中双引号单引号和&连接符使用技巧

    ASP中双引号单引号和&连接符使用技巧 一.ASP中处在双引号中的可以是任意的字符.字符串,HTML代码 1.<%response.write ("I am here" ...

  2. c/c++中宏定义##连接符 和#符的使用

    C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结.关于#和##在C语言的宏中,#的功能是将其后面的宏 ...

  3. URL 链接中 井号#、问号?、连接符& 分别有什么作用?

    在一个 URL 中可以包含很多的内容,其中不仅仅是包含 26 个英文字母,10 个罗马数字,中文汉字,还可以拥有井号“#”.问号“?”.连接符“&”等三种最常见的符号,那么这些符号在网站中都有 ...

  4. 数据库学习(三) sql语句中添加函数 to_char,round,连接符||

    ** to char 是把日期或数字转换为字符串  to date 是把字符串转换为数据库中得日期类型  参考资料:https://www.cnblogs.com/hllnj2008/p/533296 ...

  5. [转]bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩 ...

  6. Bat 中特殊符号

    批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @\\隐藏命令的回显. ~\\在for中表示使用增强的变量扩展:在set中表示使用扩展环境变量指定位置的字符串:在set ...

  7. 【转】【bat】Bat 中特殊符号

    批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @\\隐藏命令的回显. ~\\在for中表示使用增强的变量扩展:在set中表示使用扩展环境变量指定位置的字符串:在set ...

  8. bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 (2014-02-27 21:16:55) 转载▼ 标签: bat 特殊字符 分类: develop bat中的特殊字符,以及需要在bat中当做 ...

  9. 优化php代码 - 字符串echo输出 逗号也可作php连接符

    2016年12月12日10:00:16 ====================== 网页访问速度的提升,是可以通过代码的优化来实现的.代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行 ...

随机推荐

  1. eclipse导入包的快捷键

    在Eclipse里,写一个没有导入相应包的类名(这个类名已经完全写全,比如LayoutManager), 可以用ctrl+shift+M/Ctrl+Shift+o/Ctrl+1导入相应的包. 其中Ct ...

  2. C++学习之路,漫长而遥远

    一.C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进.C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 V ...

  3. OpenJudge 2747 数字方格

    1.链接地址: http://bailian.openjudge.cn/practice/2747 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 如上图,有3个 方格,每个 ...

  4. HTMLImageElement类型的简便利用

    这个是我在复习书籍的时候看见的,当时一个同学想通过页面发送请求,但是数据量不是太大,所以用的get方式,但是页面用表单提交请求的话会让页面进行跳转,当时我在网上查了一点资料,发现基本上都是通过ajax ...

  5. jquery全选,jquery全不选,jquery反选

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 4个好用的JS联动选择插件

    jQuery City Select 一个简单的jQuery省市联动插件,可以自定义JSON字典实现其他内容的联动选择菜单. PCAS省.市.地区联动选择JS封装类 PCAS可能是国内使用人数最多的J ...

  7. Python Socket,How to Create Socket Cilent? - 网络编程实例

    文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...

  8. C#微信登录-电脑版扫描二维码登录

    像京东,一号店等网站都实现了用微信来登录的功能,就是用手机上的微信扫一扫网站上的二维码,微信上确认后,即可自动用微信的帐号登录网站. 一.创建网站应用 在微信开放平台创建一个网站应用 https:// ...

  9. EF性能优化(一)

    一:背景 说到EF的性能问题,我相信都是大家比较头痛的问题,有很多初学者望而却步,可是每每菜鸟在群里面抱怨EF太慢的时候,这个时候总有一些大牛登场说一句:怪EF咯?怪你不会用! 当然我从未嫌弃过它,因 ...

  10. Intel HEX file结构

    https://en.wikipedia.org/wiki/Intel_HEX 1, Intel Hex每行的组成 开始标志+Byte数+地址+数据类型+数据+Checksum 2, 开始标志 冒号: ...