字符 ^是对特殊符号<,>,的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。 比如 echo test ^>1.txt 结果则是:test > 1.txt 他没有追加在1.txt里,呵呵。只是显示了出来 另外,此转义字符还可以用作续行符号。 举个简单的例子: @echo off echo 英雄^ 是^ 好^ 男人 pause 不用多说,自己试一下就明白了。 为什么转义字符放在行尾可以起到续行符的作用呢?原因很简单,因为每行末尾还有一个看不见的符号,即回车符,转义字符位于行尾时就让回车符失效了,从而起到了续行的作用。8、组合命令 语法:第一条命令 第二条命令 [& 第三条命令...] 、&&、||为组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里是允许的,而且用的非常广泛。因为批处理认行不认命令数目。 这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。 这里两边的命令是顺序执行的,从前往后执行。 比如: dir z:\\ dir y:\\ & dir c:\\ 以上命令会连续显示z,y,c盘的内容,不理会该盘是否存在 9、& 组合命令 语法:第一条命令 & 第二条命令 [&& 第三条命令...] 用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令 这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行 dir z:\\ & dir y:\\ && dir c:\\ 10、||组合命令 语法:第一条命令 || 第二条命令 [|| 第三条命令...] 用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令; 提示:组合命令和重定向命令一起使用必须注意优先级 管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令 问题:把C盘和D盘的文件和文件夹列出到a.txt文件中。看例: dir c:\\ & dir d:\\ > a.txt 这样执行后a.txt里只有D盘的信息!为什么?因为组合命令的优先级没有重定向命令的优先级高!所以这句在执行时将本行分成这两部分:dir c:\\和dir d:\\ > a.txt,而并不是如你想的这两部分: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 11、\"\"字符串界定符 双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法 cd \"program files\" cd progra~1 cd pro* 以上三种方法都可以进入program files这个目录 12、, 逗号 逗号相当于空格,在某些情况下“,”可以用来当做空格使 比如 dir,c:\\ 13、; 分号 分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序仍会执行。(有人说不会继续执行,其实测试一下就知道了) 比如: dir c:\\;d:\\;e:\\;z:\\ 以上命令相当于 dir c:\\ dir d:\\ dir e:\\ dir f:\\ 如果其中z盘不存在,运行显示:系统找不到指定的路径。然后终止命令的执行。 例:dir c:\\;d:\\;e:\\1.txt 以上命令相当于 dir c:\\ dir d:\\ dir e:\\1.txt 其中文件e:\\1.txt不存在,但e盘存在,有错误提示,但命令仍会执行。 为什么?如果目标路径不存在,则终止执行;如果路径存在,仅文件不存在,则继续执行。 14、() 括号 小括号在批处理编程中有特殊的作用,左右括号必须成对使用,括号中可以包括多行命令,这些命令将被看 |