批处理常用网络命令和符号篇

2019-01-29 21:14:57王冬梅

||符号允许同时执行多条命令,当一条命令执行失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面
的命令,如果没有出现正确的命令则一直执行完所有命令。
格式:第一条命令 || 第二条命令 [|| 第三条命令...]

例3
tasklist | find /i "qq.exe" && taskkill /f /im qq.exe || echo 你开了QQ?我不信

通过&&和||两个符号可以认为把上例分成了三个命令:
第一个命令::tasklist | find /i "qq.exe"
第二个命令:taskkill /f /im qq.exe
第三个命令:echo 你开了QQ?我不信

这里我们分析一下,
如果找不到QQ进程,即第一个命令执行失败,则 && 不会执行第二个命令:taskkill命令,由于taskkill 命令没有
执行,视作第二个命令执行失败,则 || 将会执行第三个命令:echo 命令。
如果找到QQ进程,即第一个命令执行成功,则 && 将会执行第二个命令:taskkill命令,由于第二个命令执行成功,
|| 将不会执行第三个命令:echo 命令。


★管道命令 | | 的输入方法,输入两次shift键
★组合命令和重定向命令、管道命令一起使用必须注意优先级。管道命令的优先级高于重定向命令,重定向命令的优
先级高于组合命令。

思考:
把C 盘和 D 盘的文件和文件夹列出到a.txt 文件中。

你可能马上的写出了下面的命令:
dir c: && dir d: > a.txt
  这样执行后a.txt 里只有D盘的信息!为什么?因为组合命令的优先级没有重定向命令的优先级高!所以命令在执
行时将被分成两部分:dir c:和dir d: > a.txt
  这里要使用组合命令&&达到题目的要求,我们可以这样写:
dir c: > a.txt && dir d: >> a.txt
这样,依据优先级高低,DOS 将把这句话分成以下两部分:dir c: > a.txt 和dir d: >> a.txt
  当然,我们也可以这样写:
dir c: > a.txt & dir d: >> a.txt

四、转义字符 ^
   一般而言,^ 以转义字符的身份出现。

   因为在cmd环境中,有些字符具备特殊功能,如 >、>>表示重定向,| 表示管道,&、&&、|| 表示语句连接……它
们都有特定的功能,如果需要把它们作为字符输出的话,echo >、echo | ……之类的写法就会出错——cmd解释器会
把它们作为具有特殊功能的字符对待,而不会作为普通字符处理,这个时候,就需要对这些特殊字符做转义处理:在
每个特殊字符前加上转义字符^。
   因此,要输出这些特殊字符,就需要用 echo ^>、echo ^|、echo ^|^|、echo ^^……之类的格式来处理;

   另外,此转义字符还可以用作续行符号。

例1
@echo off
echo 这是^

相关文章 大家在看