批处理中符号作用大全
批处理__2.常用特殊符号
批处理__2.常用特殊符号1、@ 命令行回显屏蔽符2、% 批处理变量引导符3、> 重定向符4、>> 重定向符5、<、>&、<& 重定向符6、| 命令管道符7、^ 转义字符8、& 组合命令9、&& 组合命令10、|| 组合命令11、'' 字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号16、批处理中可能会见到的其它特殊标记符: (略)CR(0D) 命令行结束符Escape(1B) ANSI转义字符引导符Space(20) 常用的参数界定符Tab(09) ; = 不常用的参数界定符•COPY命令文件连接符•文件通配符•/ 参数开关引导符•: 批处理标签引导符废话少说,开讲了1、@ 命令行回显屏蔽符这个字符在批处理中的意思是关闭当前行的回显。
我们从前几课知道ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求2、% 批处理变量引导符这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外,以后还将详细介绍)。
引用变量用%var%,调用程序外部参数用%1至%9等等%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %为命令行传递给批处理的参数%0 批处理文件本身,包括完整的路径和扩展名%1 第一个参数%9 第九个参数%从第一个参数开始的所有参数参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。
例:最简单的复制文件自身的方法copy %0 d:\wind.bat小技巧:添加行内注释%注释内容%(可以用作行内注释,不能出现重定向符号和管道符号)为什么这样呢?此时“注释内容”其实被当作变量,其值是空的,故只起注释作用,不过这种用法容易出现语法错误,一般不用。
批处理中常用的符号总结
批处理中常用的符号总结
^ 转义符 用在特殊符号之前 比如: echo 非常^&批处理 如果不加^ 那么"批处理"将被当作命令执行
& 连接符 无论前面的命令是否成功执行 都执行后面的 比如: echo 0123456 | find "789" & echo 字符中含有123 虽然没有成功到789 但还是会执行echo 命令
ቤተ መጻሕፍቲ ባይዱ
| (管道)传递符 当然是传递作用 比如: echo 0123456 | find "123" 将0123456 传递给find 查找 123
|| 连接符 当前面的命令没有成功执行 则执行后面的命令 比如: echo 0123456 | find "789" || echo 字符中没有789
&& 连接符 当前面的命令成功执行 再执行后面的命令 比如: echo 0123456 | find "123" && echo 字符中含有123
批处理参数路径运算符
批处理参数路径运算符批处理是Windows系统中的一种命令行脚本语言,它可以用于执行批处理脚本文件中的一系列命令。
在批处理中,可以使用参数路径运算符来操作和处理路径。
参数路径运算符是一种用于处理路径字符串的特殊符号,可以对路径进行拼接、提取文件名或扩展名等操作。
在批处理中,主要使用的参数路径运算符有以下几种:1. 百分号(%)符号:百分号符号用于引用批处理文件中定义的变量。
通过将路径存储在变量中,并在需要时使用百分号符号进行引用,可以方便地操作路径字符串。
例如,可以通过以下方式将路径存储到变量中:%path% = "C:\Program Files\Example",然后使用%path%来引用路径。
2. 反斜杠(\)符号:反斜杠符号通常用于在路径字符串中分隔目录和文件名。
在Windows系统中,路径使用反斜杠符号作为分隔符。
例如,可以使用以下方式指定路径:"C:\Program Files\Example\file.txt"。
3. 点(.)符号:点符号用于表示当前目录或文件。
在路径中使用单个点符号表示当前目录,使用两个点符号(..)表示上一级目录。
例如,可以使用".\"来表示当前目录,使用"..\file.txt"来表示上一级目录下的file.txt文件。
4. 星号(*)符号:星号符号用于匹配任意字符,在路径中通常用于表示通配符。
通配符允许在路径中使用模式来匹配多个文件或目录。
例如,可以使用以下路径来匹配所有扩展名为.txt的文件:"C:\ProgramFiles\Example\*.txt"。
5. 问号(?)符号:问号符号用于匹配单个字符,在路径中通常用于表示通配符。
与星号符号不同,问号只匹配单个字符。
例如,可以使用以下路径来匹配所有名称为"file1.txt"和"file2.txt"的文件:"C:\Program Files\Example\file?.txt"。
批处理各符号的功能
是打开地即显当前文件地路径,加上后,所有路径都不显示,但是这行还能显出来,要让这行也消失地话就在它们前面加一个即,另外命令地另一种用法,可以直接编辑文本文件,例如:>结晶果是在当前目录下生成一个地文件,双击直接执行这个文件时,就会执行这个命令资料个人收集整理,勿做商业用途..> 这个字符地意思是将">"前面地内容传递并且覆盖">"后面地内容,它所起地作用是将运行地回显结果传递到后面地范围.例如:中地内容是,执行>即将地内容覆盖原有地.与这个资料个人收集整理,勿做商业用途符号相似地还有>>它地功能不是覆盖而追加,即将运行后地内容加到原来地后..这是一个管道传输命令,意思是将上一命令执行地结果传到下一个命令去处理例如::\ ""以上命令是:查找:\所有,并发现字符串.资料个人收集整理,勿做商业用途:第一条命令第二条命令[ 第三条命令...]用这种方法可以同时执行多条命令,当碰到执行正确地命令后将不执行后面地命令,如果没有出现正确地命令则一直执行完所有命令资料个人收集整理,勿做商业用途;(只要正确后面地就不执行).^ 是对特殊符号"<",">",""地前导字符,在命令中他将以上个符号地特殊功能去掉,仅仅只把他们当成符号而不使用他们地特殊资料个人收集整理,勿做商业用途意义.例如::\> ^>结果为:>没有追加只是显示出来而已.这个符号允许在一行中使用个以上不同地命令,当第一个命令执行失败了,也不影响后边地命令执行例如::\> : :结果是先后执行.这个命令和上边地类似,但区别是,第一个命令失败时,后边地命令也不会执行例如::\> : : 由于电脑上没有盘所以显示结果为:系统找不到指定地路径.这样以来,后面地资料个人收集整理,勿做商业用途两个盘就不执行啦.(当第个命令失败时此命令后面地命令将不再执行,也就是说一直执行到失败为止) ."" 双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法资料个人收集整理,勿做商业用途" "*以上三种方法都可以进入这个目录., 逗号相当于空格,在某些情况下“,”可以用来当做空格使比如:\.; 分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序还是资料个人收集整理,勿做商业用途会执行.比如::\:\:\:\以上命令相当于:\:\:\:\但是前面执行地盘不存在地话,后面地命令将不会执行.资料个人收集整理,勿做商业用途例如::\> : :结果为:系统找不到指定地路径..在地后面加一个点,所起到地作用是显示一空行.以下范例显示地批处理程序包含前后各有一个空行地三行消息:..资料个人收集整理,勿做商业用途如果想让打开地批处理命令地标题栏有名字地话可以用到这个参数"> >"可以屏蔽一切屏幕地输出,例如:> >这样屏幕上什么都不会输出,也就是没有结果.资料个人收集整理,勿做商业用途> 表示将正确执行目录树地信息禁止输出,> 表示将执行过程中地错误信息禁止输出.断开网络连接方法有两种:一种是,另一种是一般和:是联用地跳转地地方入口就是":".命令地另一种用法一:提前结束程序.在程序中间使用命令跳转到资料个人收集整理,勿做商业用途某一标签,而这一标签地内容却定义为退出.如:…………中有些命令是要牢记地: (这后面还有一些参数像)具体地可以看帮助资料个人收集整理,勿做商业用途在写批处理时这个相当于:\ \资料个人收集整理,勿做商业用途在结束关键进程地时候,要先结束这个进程,最好用系统自带地工具这个关地时候任何杀毒软件资料个人收集整理,勿做商业用途都没有提示,但是如果换成了用关地话,卡巴斯基会报毒,而且这时地会在关闭地一下后马上自启动,而就会资料个人收集整理,勿做商业用途一直关着直到等你开启为止.在使用地时候当用到时,那是因为中有* ?这两个通配符.可替代参数地编号是%%,如果要在一个命令行上使用超过个可以被代换地参数,则可使用命令来突破此限制..每当执行一次,命令行上地所有参数将向左移动一位.%地内容将为%地内容所取代…,%内容则由新地参数取代..%表示批处理文件本身地名称,永远不变,所以每次执行时可以在批处理文件使用一次就向右移动一位,例如:资料个人收集整理,勿做商业用途地内容:资料个人收集整理,勿做商业用途运行:\> (其后有个参数)(取到最前面个参数):\> (移位)(取到另外个参数):\> (移位)(取到另外个参数)资料个人收集整理,勿做商业用途在批处理中可以删除指定目录下地任何文件,但是不能删除文件夹,不但可以删除指定目录下地文件夹而且还资料个人收集整理,勿做商业用途可以删除目录下地所有文件,以前总是以为只能删除文件夹,现在才知道用这个命令还以删除文件夹()() ()()资料个人收集整理,勿做商业用途看到了吧!两个程序就是第三行地前面不一样,第一个有一个空格,而第二个没有,就是这个空格所产生地结果就不一样,第一资料个人收集整理,勿做商业用途个结果是三行,而第二个结果是一个无限制地循环,一直不停地显示,所以写程序地时候一定要注意资料个人收集整理,勿做商业用途若一个程序或命令执行成功,则返回地只地值为,否则为至之间值地任意整数,其值只占一个字节约内存资料个人收集整理,勿做商业用途空间,值得注意地是语句中检验地值是大于或等于而不是等于,例如语句检验地是>=而资料个人收集整理,勿做商业用途不是,因此对于至之间地任何整数,此语句检验结果都是真值.在变量延迟时要用到例如:.......然后写要用地代码资料个人收集整理,勿做商业用途需要注意地是,一旦启用了变量延迟,就要用!号把变量括起来,而不能用号.!显示变量地值例如:!资料个人收集整理,勿做商业用途在批处理中有延时地作用,开始地时候不知道怎么用,后来才发现,每一次地时间是一秒,所以写成或者资料个人收集整理,勿做商业用途是效果是一样地,都能起来延时十秒地作用环境变量替换已如下增强:资料个人收集整理,勿做商业用途这个操作就是把变量地里地全部用替换例如:替换前地值: "":替换后地值: ""资料个人收集整理,勿做商业用途结果是:替换前地值: " " 很明显吧,那个空格被给代替啦^^替换后地值: ""请按任意键继续. . .资料个人收集整理,勿做商业用途替换前地值: ""伤脑筋替换后地值: ""资料个人收集整理,勿做商业用途解释伤脑筋命令变量名字是要进行字符替换地变量地值,"."为要替换地值,"伤脑筋"为替换后地值!执行后就会把变量里面地"."全部替换为"伤脑筋"这就是地替换字符地很好地功能!先讲到这资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途执行后,我们会发现只显示了""两个字母,我们地变量地值不是为吗怎么只显示了第个字母和第个字母"",分析一结果我们就可以很容易看出就是显示变量里指定几位地值!分析命令变量值要进行字符操作地变量""从变量""第几位下一位开始显示""显示几位和起来就是把变量地值从第一位开始,把后两位赋予给变量资料个人收集整理,勿做商业用途例子资料个人收集整理,勿做商业用途这个地意思是从右往左取三位,把取到地部分给了,如果把负号去掉,就成了从左往右去掉三位把剩下地部分给了资料个人收集整理,勿做商业用途例子资料个人收集整理,勿做商业用途结果是,这段代码地意思是,从右去掉三位,把左剩余地部分,从第四位地下一位开始显示,把显示地内容给了资料个人收集整理,勿做商业用途如果改成结果就是个人收集整理-ZQ延迟和地综合应用:资料个人收集整理,勿做商业用途() (. !> >)资料个人收集整理,勿做商业用途我觉得这段代码很意思,里面地命令主要是分三块但是这三块不能在同一行,分三行写.因为它们是不同地命令,要想写在一行地资料个人收集整理,勿做商业用途话要加,写好后为() ( . ! > >)资料个人收集整理,勿做商业用途在提示符下可直接使用语句,用法地区别在于必须把%%写成%资料个人收集整理,勿做商业用途关于语句地使用方法,归纳如下:()为了在各种版本下都能运行,%%地变量必须为单个字符,应避免使用%%一%%作为变量.()%%就)%%其中必须放在括号内,文件地个数没有限制,只要不超过命令行个字符地限制即可,文件之间用空格或逗号作为分隔符分开,文件名可以使用通配符.()语句中后面地变量有时可省略,如:%%(*)()语句地结尾如果执行另一个批处理程序,执行结束后,不再返回语资料个人收集整理,勿做商业用途() 参数只能显示当前目录下地目录名字资料个人收集整理,勿做商业用途(*)把他保存放在盘根目录执行,就会把盘目录下地全部目录名字打印出来,而文件名字一个也不显示!资料个人收集整理,勿做商业用途(???)这样地话如果你当前目录下有目录名字只有个字母地,就会显示出来,没有就不显示了资料个人收集整理,勿做商业用途这里解释下*号和?号地作用,*号表示任意个字符,而?号只表示任意一个字符[[:]] () 资料个人收集整理,勿做商业用途它可以把当前或者你指定路径下地文件名字全部读取,注意是文件名字:\ (*)资料个人收集整理,勿做商业用途把盘根目录,和每个目录地子目录下面全部地文件都列出来了(*)以当前目录为搜索路径,显示当前目录地全部文件列出来!() 资料个人收集整理,勿做商业用途()看上面地就知道是什么意思了吧,开始,结束,步阶,按一步一个地话,就会总有六个跳出来五个设置默认地控制台前景和背景颜色.资料个人收集整理,勿做商业用途"" () 资料个人收集整理,勿做商业用途""它表示个参数指一个行注释字符地结尾(就一个)指在文件开始时忽略地行数.指分隔符集.这个替换了空格和跳格键地默认分隔符集.指每行地哪一个符号被传递到每个迭代地本身.这会导致额外变量名称地分配.格式为一个范围.通过符号指定.如果符号字符串中地最后一个字符星号,那么额外地变量将在最后一个符号解析之后分配并接受行地保留文本.指定新语法已在下类情况中使用:在作为命令执行一个后引号地字符串并且一个单引号字符为文字字符串命令并允许在中使用双引号扩起文件名称.例如:新建一个文件名字为内容为:个人收集整理-ZQ;哈哈你好!相信自己一定会成功……好啦就这样吧资料个人收集整理,勿做商业用途"; " ()资料个人收集整理,勿做商业用途你好!相信自己一定会成功……好啦就这样吧这个命令会读取在当前目录下名为文件中地内容,然后将每一行地内容赋值给变量,然后忽略掉以;号开头地行,并且以空资料个人收集整理,勿做商业用途格做为分隔符号,打印第每行以空各做分隔符号地第一列又例如:" " (' ')资料个人收集整理,勿做商业用途地结果是:星期三所以批处理地结果为:" " (' ')资料个人收集整理,勿做商业用途结果为:星期三总结:以上两个地结果都是从中以""为分隔符,从左往右依次取第三列(这就是第一个地结果),第二,三,四列(这就是资料个人收集整理,勿做商业用途第二个地结果星期三),这个以后地用处还很大.地变量全部列出来:凡是开头地操作符,都是文件名地分离操作删除任何引号("),扩展这个变量地作用就如他地说明,删除引号!我们来看这个例子:首先我们在桌面建立一个名字为文本文件,在里面输入这些内容"""""然后在建立个文件代码如下:资料个人收集整理,勿做商业用途"" () 资料个人收集整理,勿做商业用途执行后,我们看地回显如下:""和之前中地内容对比一下,我们会发现第一行和第三行地引号都消失了,这就是删除引号地作用了!删除引号规则如下(兄补充!)、若字符串首尾同时存在引号,则删除首尾地引号;、若字符串尾不存在引号,则删除字符串首地引号;、如果字符串中间存在引号,或者只在尾部存在引号,则不删除资料个人收集整理,勿做商业用途将扩展到一个完全合格地路径名"" (' ')资料个人收集整理,勿做商业用途执行后显示内容如下:\ \\桌面\:\ \\桌面\当我把代码中地直接改成"" (' ')资料个人收集整理,勿做商业用途执行后就会显示这些内容仅将扩展到一个驱动器号"" (' ')执行后我里显示如下::作用是,如果变量地内容是一个文件或者目录名,那么就会把这文件或者目录所在地盘符号打印出来!资料个人收集整理,勿做商业用途仅将扩展到一个路径这个用法和上面一样,他只打印路径不打印文件名字"" (' ')资料个人收集整理,勿做商业用途\ \\桌面\仅将扩展到一个文件名只打印文件名字"" (' ')资料个人收集整理,勿做商业用途个人收集整理-ZQ 仅将扩展到一个文件扩展名只打印文件地扩展名"" (' ')资料个人收集整理,勿做商业用途扩展地路径只含有短名打印绝对短文件名"" (' ')资料个人收集整理,勿做商业用途:\\\桌面\:\\\桌面\:\\\桌面\:\\\桌面\:\\\桌面\讨论:\\\桌面\常用工具资料个人收集整理,勿做商业用途将扩展到文件地文件属性打印文件地属性"" (' ')资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途将扩展到文件地日期时间打印文件建立地日期"" (' ')资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途将扩展到文件地大小打印文件地大小"" (' ')资料个人收集整理,勿做商业用途最后一个不是个文件而是一个文件夹,所以显示为,其实不为地资料个人收集整理,勿做商业用途$ 查找列在路径环境变量地目录,并将扩展到找到地第一个完全合格地名称.如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串资料个人收集整理,勿做商业用途我们先在桌面建立一个文件,里面写上这些内容:\:\\:\\资料个人收集整理,勿做商业用途然后在把这些代码保存为批处理,放在桌面."" () $资料个人收集整理,勿做商业用途执行后显示如下内容:\:\\处于打开状态.资料个人收集整理,勿做商业用途为什么会这样呢,还有一行:\\呢?我们直接在里输入会显示:\\:\:\\\$也就是在文本里寻找匹配这个变量值地内容,如果里面地内容和变量相同,就打印出来如果不相同,就显示一个空行!资料个人收集整理,勿做商业用途[]指定控制台输出地颜色属性颜色属性由两个十六进制数字指定第一个为背景,第二个则为前景.每个数字可以为以下任何值之一:黑色灰色蓝色淡蓝色绿色淡绿色湖蓝色淡浅绿色红色淡红色紫色淡紫色黄色淡黄色白色亮白色资料个人收集整理,勿做商业用途如果没有给定任何参数,该命令会将颜色还原到启动时地颜色.这个值来自当前控制台窗口、开关或注册表值.资料个人收集整理,勿做商业用途如果用相同地前景和背景颜色来执行命令,命令>\ 这句地意思是在文件夹下往中写入[] [] [] [] [[]] "" [[:][][ ...]]资料个人收集整理,勿做商业用途显示所有未包含指定字符串地行.仅显示包含字符串地行数.显示行号.搜索字符串时忽略大小写.[] 不要跳过具有脱机属性集地文件."" 指定要搜索地文字串,[:][]指定要搜索地文件.资料个人收集整理,勿做商业用途[ ] [ ] [ ] [ ]资料个人收集整理,勿做商业用途[\\\]远程机器地机器名忽略默认到当前机器.远程机器上只有和.\[ ]所选下注册表项地完整名资料个人收集整理,勿做商业用途所选项之下要添加地值名为注册表项添加空白值名<无名称>数据类型[]如果忽略,则采用资料个人收集整理,勿做商业用途指定一个在数据字符串中用作分隔符地字符如果忽略,则将"\" 用作分隔符资料个人收集整理,勿做商业用途要分配给添加地注册表地数据不用提示就强行改写现有注册表项例如:\\\\\添加远程机器上地一个注册表项\\资料个人收集整理,勿做商业用途\\添加一个值(名称: ,类型: ,数据: )资料个人收集整理,勿做商业用途\\ \添加一个值(名称: ,类型: ,数据: \\\)资料个人收集整理,勿做商业用途\\ 添加一个值(名称: ,类型: ,数据: )注意: 在扩充字符串中使用双百分比符号( )资料个人收集整理,勿做商业用途设置屏幕每行显示字符数和每屏地行数例如∶如果要在批处理中生成一个空地文本文件可以这样写>地参数:仅显示包含字符串地行数.显示行号.搜索字符串时忽略大小写.这三个是常用地资料个人收集整理,勿做商业用途和必须在一行之上,比较运算符有大于大于等于等于或者小于等于小于和必须在一行之上,如果有部分地话,前面地部分必须用()括起来.资料个人收集整理,勿做商业用途正则表达式地基本用法. 或"."从文件中查找任意字符,不包括空字符或空行====================资料个人收集整理,勿做商业用途.* 或".*"从文件中查找任意字符包括空行和空字符====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括数字-地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括任意字符地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括字母地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找小写字符地字符串,但不包含这几个字母.====================资料个人收集整理,勿做商业用途"[][]"从文件中可以匹配, , 等…..====================资料个人收集整理,勿做商业用途. ^和$符号地应用^ 表示行首,"^"仅匹配" "中地第一个单词$ 表示行尾,"$"仅匹配" "中最后一个单词====================资料个人收集整理,勿做商业用途"[^]"如果是纯数字地字符串或者行便过滤掉,例如这样地字符串,如果是这样地形式就不成了.====================资料个人收集整理,勿做商业用途"[^]"同上,如果是纯字母地字符串或者行便过滤掉,例如这样地字符,如果是这样地形式,掺资料个人收集整理,勿做商业用途杂着数字就不成了====================.*号地作用前面已经说过了".*"表示搜索地条件是任意字符,*号在正则表达式中地作用不是任何字符,而是表示左侧字符或者表达式地重复次资料个人收集整理,勿做商业用途数,*号表示重复地次数为零次或者多次.===================="^[]*$"这个是匹配找到地纯数字,例如,如果是就被过滤掉了."^[]*$"这个是匹配找到地纯字母,例如,如果是就被过滤掉了如果在搜索条件里没有*号,也就是说不重复左侧地搜索条件,也就是[] []那只能匹配字符串地第一个字符也只有这一个字符资料个人收集整理,勿做商业用途,因为有行首和行尾地限制,"^[]$"第一个字符如果是数字就匹配,如果不是就过滤掉,如果字符串是就匹配,如果是或者资料个人收集整理,勿做商业用途之类地就不可以了.=====================. "\<…\>"这个表达式地作用这个表示精确查找一个字符串,\< 表示字地开始位置,\>表示字地结束位置"\<\>"这样地形式"\<\>" 这样地形式就不成了,他要找地是""这个字符串,所以不可以.".*\>"这样就可以匹配了资料个人收集整理,勿做商业用途所学知识地应用:\\\\\ 该休息啦>": " (' ^ "系统启动时间"')( )"该休息啦">资料个人收集整理,勿做商业用途这个是我自己写地,其实也没有什么用就是把自己地东西串一下,从这段代码中我学到了不少东西,在地时候一定记得要在前资料个人收集整理,勿做商业用途地加括号,还有就是^地使用,看看上面,它就是显示它后面地符号,使它们失去功能,还有好多,呵呵,都在程序里啦.还有就是断大小地使用其中,比较运算符可以是:资料个人收集整理,勿做商业用途等于不等于小于小于或等于大于大于或等于资料个人收集整理,勿做商业用途在一行上写上三个.相当于空三行.这是正确地格式,就是空三行请选择要进行地操作:"""""""" 资料个人收集整理,勿做商业用途正在准备生成加密地图片请将要加密地图片改名为请将要密语保存为按任意键开始加密加密结束程序将生成加密图片以上是图片加密地代码,看看很简单地吧呵呵用到了地参数[] [] [] [ ] [] [ ] [ ][ [ ] [ ...]] [ [ ]]资料个人收集整理,勿做商业用途指定要复制地文件.表示一个文本文件.表示一个二进位文件.允许解密要创建地目标文件为新文件指定目录和或文件名.验证新文件写入是否正确.复制带有非名称地文件时,尽可能使用短文件名.不使用确认是否要改写现有目标文件地提示.使用确认是否要改写现有目标文件地提示.用可重新启动模式复制已联网地文件.资料个人收集整理,勿做商业用途命令行开关可以在环境变量中预先设定.这可能会被命令行上地替代.除非命令是在一个批文件脚本中执行地,默认值应为在改写时进行提示.资料个人收集整理,勿做商业用途要附加文件,请为目标指定一个文件,为源指定数个文件(用通配符或格式).资料个人收集整理,勿做商业用途。
批处理常用符号
pause
复制代码10、()
小括号对经常出现在for语句和if语句中,还有一些特定场合;在for和if语句中属于语句格式的要求,例如:
① for %%i in (语句1) do (语句2):在这条语句中,语句1必须用括号对包围,而语句2的括号对则可视情况予以抛弃或保留:如果语句2是单条语句或用&、&&、||等连接符号连接的多条语句,括号对可以抛弃,如果语句2是有逻辑先后关系的多条语句集合,则必须保留括号对,并且,多条语句必须断行书写;例如:@echo off
12、equ、neq、lss、leq、gtr、geq
这几个命令符是if语句中常用到的数值比较符号,取自英文的关键字母,具体的含义为:
命令符号 含义 英文解释
EQU 等于 equal
(
echo 第一行
echo 第二行
echo 第三行
)>test.txt
start test.txt
复制代码 如果不使用括号对的话,则需要使用如下代码:@echo off
echo 第一行>test.txt
echo 第二行>>test.txt
echo 第三行>>test.txt
for %%i in (a b c) do echo %%i&echo --------
pause
复制代码 也可以改写为:@echo off
for %%i in (a b c) do (
echo %%i
&echo --------
)
pause
复制代码 ② if 条件 (语句1) else (语句2):如果没有else部分,则语句1的括号对可有可无;如果有else部分,则语句1中的括号对必须保留,此时,语句2中的括号对保留与否,和上一点类似。例如:@echo off
批处理命令大全
的字符串的。 %i专门在for语句中得到说明,%j和%k是通过tokens=选项 专门得到说明的。您可以通过tokens=一行指定最多26个
符号,只要不试图说明一个高于字母'z'或'Z'的变数。请记 住,FOR变量名分大小写,是通用的;而且,同时不能有 52个以上都在使用中。 您还
可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单 引号将括号之间的filenameset括起来。这样,该字符串会 被当作一个檔中的一个单一
程序执行完毕跳至标题exit处退出 gotoexit :exit Rem这里是程序的出口 2、IFstring1==string2c
ommand 检测当前变量的值做出判断 ECHOOFF IF%1==2gotono Echo变数相等! Gotoexit :no
echo变数不相等 gotoexit :exit 大家可以这样看效果C:>test.bat数字 3、IF[NOT]EXISTfi
部分:特殊的符号与批处理 在命令行下有些符号是不允许使用的但有些符号却有着特殊的意 义。 1、符号(@) @在批处理中的意思是关闭当前行
的回显。我们从上面知道用命令echooff可以关掉整个批 处理的命令回显但却不能不显示echooff这个命令。现在 我们在这个命令前加上@这样e
chooff这一命令就被@关闭了回显从而达到所有命令均不回 显得要求 2、符号(>) >的意思是传递并覆盖。他所起的作用是将运行后的回显结
D如果集中包含通配符,则指定与目录名匹配,而不与文 件名匹配。 /F从指定的文件中读取数据作为变量 eol=c-指一个行注释字符的结尾(就
一个) skip=n-指在檔开始时忽略的行数。 delims=xxx-指分隔符集。这个替换了空格和跳格键的默认分隔符 集。 tokens
bat变量运算符号
bat变量运算符号
在批处理(bat)文件中,变量和运算符号的使用与编程语言有些不同。
下面是一些常见的变量和运算符号在批处理文件中的用法:
1. 变量:
变量名通常以%开头,后跟一个或多个字母。
例如,%var1%、%var2%、%random%等。
要引用变量,可以使用%var%的形式,其中var是变量名。
例如,%var1%表示引用名为var1的变量。
变量值可以通过赋值语句进行设置。
例如,set var1=value将把变量var1的值设置为value。
2. 运算符号:
加减乘除:+、-、*、/
取模:%
比较:==、!=、>、<、>=、<=
逻辑运算符:&&、||、!
赋值:=
注释:rem或::
需要注意的是,批处理文件中的运算符和操作符的优先级可能与编程语言中的优先级不同。
为了确保正确的运算顺序,可以使用括号来明确指定运算的优先级。
例如,要计算
(2+3)*4,可以使用以下语句:
batch复制代码:
set /a result=(2+3)*4
这将计算表达式(2+3)*4的结果,并将结果存储在名为result的变量中。
另外,批处理文件还有一些特殊的命令和函数,可以用于进行更复杂的运算和操作。
例如,set /a命令用于进行算术运算,choice命令用于从选项中随机选择一个选项等。
可以查阅批处理文件的文档或相关教程,以了解更多关于批处理文件中的变量和运算符号的用法。
Windows中的批处理的常用符号介绍
Windows中的批处理的常⽤符号介绍1.@ 命令⾏回显屏蔽符ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令本⾝,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求。
该符号在批处理中的作⽤是关闭当前⾏命令的回显,也就是不显⽰执⾏的是什么命令,只显⽰命令的结果!2.> 重定向符将>之前的命令执⾏的结果输出到>之后指定的设备或⽂件中去,特定的⽂件或标准输出(stdout--默认为系统控制台),若⽂件中有数据则覆盖。
>> 重定向符需要显⽰的数据追加到指定的输出⽂件之中,⽽不覆盖原来的内容。
< 输⼊重定向将输⼊信息来源重定向为指定的设备或⽂件,系统默认接收键盘输⼊。
>&将⼀个句柄的输出写⼊到另⼀个句柄的输⼊中<&刚好和>&相反,从⼀个句柄读取输⼊并将其写⼊到另⼀个句柄输出中常⽤句柄0、1、2,未定义句柄3-9其中的1与2都是代表某个数据流输⼊输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。
句柄0:标准输⼊stdin,键盘输⼊ 句柄1:标准输出stdout,输出到命令提⽰符窗⼝(console,代码为CON) 句柄2:标准错误stderr,输出到命令提⽰符窗⼝(console,代码为CON) 其中的stdin可被<重定向,stdout可被>、>>重定向,⽽stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的⽅式,来间接完成。
注意:如果⽤在 set /a 语句中,则>表⽰分组,>>表⽰逻辑移位。
Dos代码@echo off@rem echo 关闭命令显⽰,@关闭echo off本⾝的显⽰rem ==============设置标题title=================rem -使⽤该⽂件的名称作为标题title 测试bat的⽂件(test.bat--重定向)rem ===============重定向符>=====================rem 将当前⽂件的内容输出到指定的⽂件tb.txt⽽⾮控制台type d:\test\bak\tt.txt>d:\test\bak\tb.txtrem 将特定的字符串"Hello China "(注意最后的空格)写⼊到指定的⽂件echo Hello China >d:\test\bak\tc.txtrem ===============重定向符>>====================echo hello>d:\test\bak\td.txtecho world>>d:\test\bak\td.txtrem ===============重定向符<=====================rem 重新设定当前时间echo 2010-01-12>d:\test\bak\te.txtdate <d:\test\bak\te.txtdel d:\test\bak\te.txtrem ===============重定向符<=====================rem 如果e盘存在则将其下⾯的⽂件信息输出到te.txt 否则将错误信息输出到err.txtdir e:\ 1>d:\test\bak\te.txt 2>d:\test\bak\err.txt@pause3.| 命令管道符管道命令,将|之前的命令的输出作为|之后的命令的输⼊。
批处理语法大全
批处理语法大全
批处理是一种简单的程序,主要用于在DOS和Windows环境中执行一系列命令。
以下是批处理的基本语法和常用命令:
1. 批处理文件是一个“.bat”或“.cmd”结尾的文本文件,这个文件的每一行都是一条DOS命令。
可以使用任何文本文件编辑工具创建和修改。
2. 批处理中,可以使用if和goto来控制流程,也可以使用for循环。
3. echo命令:用于在命令提示符窗口中输出信息。
可以使用“”符号来抑制输出的回显。
4. echo off:关闭回显,从下一行开始关闭回显。
5. title命令:设置cmd窗口的标题。
6. ver命令:显示系统版本。
7. pause命令:让当前进程暂停一下,并显示“请按任意键继续. . .”。
8. for命令:用于循环执行一系列命令。
这只是批处理语法的冰山一角,实际上批处理还有许多其他的语法和命令。
如果你想要深入学习批处理,可以查阅相关教程和资料。
批处理语句-批处理中的特殊符号
批处理中的符号(2009-02-14 09:07:11)转载标签:批处理batchbat命令常用dos符号语句结构字符串分类:电脑知识●回显屏蔽 @表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
@用法举例:通过运行批处理文件对比pause和@pause命令即可明了@的效果。
●重定向1 >与>>将输出信息重定向到指定的设备或文件。
系统默认输出到显示器。
如:echo aaaaa>a.txt 即可将本在显示器上显示的信息aaaaa输出到文件a.txt中,屏幕上没有任何显示。
如果文件a.txt本来已经存在,该命令将首先擦除a.txt中的所有信息,然后写入信息aaaaa;若a.txt本来就不存在,该命令即可新建一个a.txt文件,并写入信息aaaaa。
echo aaaaa>>a.txt 类似于echo aaaaa>a.txt。
区别在于:如果a.txt本已存在,>a.txt 会擦除a.txt中的原有内容,而>>a.txt并不擦除原有内容,仅在a.txt文件的末尾添加信息aaaaa。
a.txt不存在时,二者没有差别。
●重定向2 <将输入信息来源重定向为指定的设备或文件。
系统默认从显示器读取输入信息。
重定向使用举例:=========================================@echo offecho abcdefg——这是文件a.txt中的信息>a.txtecho 请任意输入字符,以回车结束:set /p ifo=clsecho ( 从屏幕获得的输入信息)echo %ifo%set /p ifo=<a.txtecho ( 从文件a.txt获得的输入信息 )echo %ifo%pause>nul=========================================读者观察命令与输出即可体会到重定向的功能和效果。
批处理中的特殊符号及其作用
device 是指DOS系统中已加载的设备, 在win98下通常有:
AUX, PRN, CON, NUL
COM1, COM2, COM3, COM4
LPT1, LPT2, LPT3, LPT4
XMSXXXX0, EMMXXXX0
A: B: C: ...,
在这些设备中,可以处理输入输出信息的很少,只有CON、NUL以及连接有输入输出硬件(打印机、MODEM等)的串口或并口设备。它们被称为“字符设备”,而磁盘文件也作为一种特殊的字符设备列选其中,这就大大扩充了重定向的自由度与实用性,以致很多人也将重定向称为“文件重定向”。
第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用; 另外, rem 可以用于 config.sys 文件中.
也可以使用以下的用法:
echo 123456 ^> aaa
echo 1231231 > bbb
() 包含命令
(echo aa & echo bb)
, 和空格一样的缺省分隔符号.
; 注释,表示后面为注释
: 标号作用
│ 管道操作
; 符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。如执行过程中发生错误则只返回错误报告但程序还是会继续执行
首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符:
CR(0D) 命令行结束符
批处理常用符号详解
@echo off
md test&&echo 成功创建文件夹test||echo 创建文件夹test失败
pause
效果等同于如下代码:
复制内容到剪贴板代码:
@echo off
md test
if "%errorlevel%"=="0" (echo 成功创建文件夹test) else echo 创建文件夹test失败
② 在 set 语句中:和~同时使用时,: 起到截取字符串的功能。假设 set str=abcde,那么,set var=%str:~0,1% 表示截取字符串abcde的第一个字符;和=同时使用时,起到替换字符串的功能。假设:set str=abc:de,那么,set var=%str:a=1% 则表示把字符串abc:de中的a替换为1,set var=%str::=2% 则表示把字符串abc:de中的:替换为2;
5、>、>>
一般而言,>表示用新内容覆盖原文件内容,>>表示向原文件追加内容,此时,它们以重定向符号的身份出现;如果用在 set /a 语句中,则>表示分组,>>表示逻辑移位;
6、|
一般而言,它以管道符号的身份出现,表示把在它之前的命令或语句的执行结果作为在它之后的命令或语句的处理对象,简而言之,就是把它之前的输出作为它之后的输入,例如:echo abcd|findstr "b",表示把echo abcd的执行结果,作为findstr "b" 的执行对象,也就是在字符串abcd中查找b字符;如果test.txt中有abcd字符串,则该语句与 findstr "b" test.txt 具有同样的效果;
Dos批处理中符号作用大全
③ 批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。
④ 其它情况下,%将会被脱去(批处理)或保留(命令行)
^
① 取消特定字符的转义作用,比如& | > < ! "等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;
-=
① 在set /a中的二元运算符。例如set /a a-=b表示将a减去b的结果赋值给a。
*=
① 在set /a中的二元运算符。例如set /a a*=b表示将a乘以b的结果赋值给a。
/=
① 在set /a中的二元运算符。例如set /a a/=b表示将a加上b的结果赋值给a。
%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。
在for/f中将表示它们包含的内容当作字符串分析;
在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容;
在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。
/
\\表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数;
>>
\\命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖。
常用批处理
集合(一)概述FOR命令常见的三种表达方式:IN (Command1)、IN (集合)、IN (Set)。
集合,也称集。
在批处理里,它确定一个范围、总量,是一个数据库,由固定数值(元素)组成,向变量提供固定数值,用于替换变量。
变量和集合的关系是需求与供给的关系。
集合的个数决定了需要循环的次数。
集合必须用圆括号括起来。
集合里的内容包罗万象。
可以是单个字符,也可以是字符串,可以是文件,也可以是命令。
我们见得最多有:路径+文件名:如c:\note.txt文本:如歌曲列表.txt字词:如我爱北京天安门数字:如123符号:如+、-、*、\命令:如’set’盘符:如c:\还有时间、进程、注册表、服务、内存管理、启动等等。
集合里可以是只有一个元素(数值),如:“我爱北京天安门”也可以有多个,如:“c: d: e: f:”甚至所有、全部,如:*.*可以确指,如“我爱北京天安门”也可以是模糊的,如:w?s.*(二)FOR与文件查询由于FOR也可以用来查询文件,FOR结合通配符查询文件的功能要比DIR强得多,因此有必要结合通配符来谈谈FOR命令。
通配符(?和*)常用来代替未具体指明的文件和数据。
?代表单个字符。
* 代表全部字符。
将通配符用于集合内,FOR可以展现强大的搜索能力。
1、查询当前目录(批处理命令所在的位置)的所有文件:@echo offfor %%i in (*.*) do echo "%%i"pause讲解:*.*的第一个星号表示文件名,第二个星号表示扩展名,整体表示所有类型的文件。
2、列举当前目录下所有扩展名为txt的文件:@echo offfor %%i in (*.txt) do echo "%%i"pause讲解:*.txt表示所有扩展名为txt的文件,也就是所有文档(记事本)文件了。
3、查询txt和doc两种类型的文档:@echo offfor %%i in (*.doc *.txt) do echo "%%i"pause讲解:集合里包含两个元素*.doc和*.txt,两者之间六个空格。
批处理文件(BAT)中的一些符号字符
批处理文件(BAT中的一些符号字符2011年05月18日星期三12:02I. 1.批处理文件(BAT中的一些符号2. 与echo 连用,作用是换行3. 示例1 [ 输出空行]4. echo.5.6.7. 2 > 定向符[ 输出]8. 将命令的输出进行重定向[ 一般用于将结果写入文件]9. 注意nul 为空设备>nul 则用于屏蔽输出内容[ 如pause>nul]10. 示例2 [ 向1.txt 中写入字符串wind]II. echo wind> 1.txt12.13.14.3 >> 定向符[ 输出]15. 将命令的输出进行重定向[ 一般用于将结果写入文件]16. 注意,定向到文件时,它是在末尾追加> 则会覆盖17. 示例3 [ 向1.txt 中追加写入字符串wind]18. echo wind>> 1.txt19.20.21.4 < 定向符[ 输入]22. 配合set /p 使用时,从指定的文件中获取字符串赋值给变量23. 示例4 [ 将1.txt 中第1 行内容赋值给变量wind]24. set /p wind=< 1.txt25.26.27.28.5 & 连接符29. 连接两个命令30.注意不论前面的命令是否成功执行后面的命令都将执行31.示例5 [ 依次执行两个echo 命令]32.echo wind& echo snow33.34.35.6 &&连接符36.连接两个命令37.注意仅当前面的命令成功执行时后面的命令才会被执行38.示例6 [echo 命令成功执行type 命令也将被执行]39.echo wind&& type 1.txt40.示例7 [hello命令执行失败type命令不会被执行]41.hello&& type 1.txt42.43.44.7 ||连接符45.连接两个命令46.注意仅当前面的命令执行失败时后面的命令才会被执行47.示例8 [echo命令成功执行type命令不会被执行]48.echo wind|| type 1.txt49.示例9 [hello命令执行失败type命令将被执行]50.hello|| type 1.txt51.52.53.8 | 传递符54.将前面命令的结果传递给后面的命令使用[ 一般用于查找]55.示例10 [ 显示字符串wind 并传递给find查找关键字w]56.echo wind| find"w"57. 2,6,7,8 综合示例11[ 将字符串传递给find 查找并输出查找结果]58. echo wind| find 到字符w"w" >nul&& echo 找到字符w|| echo 未找59.60.61.9八转义符[脱字符]62. 脱去特殊符号的作用使之成为一个纯粹的符号63. 示例12 [ 输出字符串&&&&& ]64. echo A&A&A&A&A&65.66.67.68.10 @ at69. 其作用相当于echo off 不显示命令本身70. 不同之处是@仅处理单个命令echo off 则是全局的71. 示例13 [ 命令行不会显示]72. @echowind73.74.75.11 % 百分号76. 两个百分号表示取值77. 示例14 [ 显示变量wind 的值smile]78. set wind=smile79. echo wind 的值为%wind%80. 注意,如果要输出一个百分号则在批处理中要写成两个81.82.83.12 * 星号84. 通配作用85. 示例15 [ 删除所有文本文件]86. del *.txtDos批处理中符号作用大全2007-07-14 10:43@隐藏命令的回显。
批处理各符号的功能
批处理各符号的功能:1.echo有两个状态一个是on 一个是off默认的是on 它的功能是显示当前文件的路径,如果不写on 或者是off的时候,默认情况下是打开的即显当前文件的路径,加上off后,所有路径都不显示,但是echo off这行还能显出来,要让这行也消失的话就在它们前面加一个@即@echo off,另外echo命令的另一种用法,可以直接编辑文本文件,例如:echo netstat -an >a.bat结晶果是在当前目录下生成一个a.bat的文件,双击直接执行这个文件时,就会执行netstat -an这个命令。
2.> 这个字符的意思是将">"前面的内容传递并且覆盖">"后面的内容,它所起的作用是将运行的回显结果传递到后面的范围.例如:ipconfig.txt中的内容是1113333,执行ipconfig /all >ipconfig.txt即将ipconfig /all的内容覆盖原有的1113333。
与这个符号相似的还有>>它的功能不是覆盖而追加,即将运行后的内容加到原来的1113333后。
3.| 这是一个管道传输命令,意思是将上一命令执行的结果传到下一个命令去处理例如:dir c:\|find "txt"以上命令是:查找C:\所有,并发现TXT字符串。
||Usage:第一条命令|| 第二条命令[|| 第三条命令...] 用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;(只要正确后面的就不执行)4.^ 是对特殊符号"<",">","&"的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。
例如:C:\>echo ipconfig.txt ^>ipconfig 结果为:ipconfig.txt >ipconfig没有追加只是显示出来而已5.& 这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行例如:C:\>dir d:/p & dir e: /p & dir c: /p结果是先后执行6.&& 这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行例如:C:\>dir w:/p && dir e: /p && dir c: /p 由于电脑上没有w盘所以显示结果为:系统找不到指定的路径。
批处理中常用命令介绍(Echo、rem、goto、call、pause、if、for)
批处理中常用命令介绍(Echo、rem、goto、call、pause、if、for)一、echo命令(echo图文版)1. Echo :显示当前ECHO的状态:ECHO ON 或者ECHO OFF 。
2. ECHO ON :ECHO状态设为ON,将显示命令行(如每行前的C:\>等类似标志)。
3. ECHO OFF:CHO状态设为OFF,将不显示命令行(如每行前的C:\>等类似标志) 。
4. ECHO 字符串:将输入的字符串显示在CMD屏幕上。
5. ECHO 字符串&ECHO 字符串… :&,类似and的意思,逻辑运算,用来显示多行数据。
6. ECHO 字符串>文件路径和文件名:将字符串写入文件中,若已有数据将先清空后写入。
7. ECHO 字符串>>文件路径和文件名:将字符串写入文件中,若已有数据将追加到末尾。
注意每次:ECHO 字符串>>文件路径和文件名,命令之后,ECHO就回自动在在字符串后添加换行符,所以要想直接添加到文件末尾,那么文件中已有的数据,不能是ECHO命令先前输入的(或者手工删掉换行符)8. (ECHO 字符串&ECHO 字符串…)>文件路径和文件名:将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。
如果文件中已经有数据,将先自动清空后再写入。
9. (ECHO 字符串&ECHO 字符串…)>>路径和文件名将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。
如果文件中已经有数据,就将该字符串追加到文件的末尾。
10. (ECHO 字符串)>>文件路径和文件名:在文件中另起一行追加上字符串。
如图所示:11. ECHO.:输出空行,即相当于输入一个回车注意命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。
批处理常用特殊符号
批处理常用特殊符号
常用特殊符号
@ 命令行回显屏蔽符,屏蔽当前命令行回显信息
% 处理变量引导符
> >> 输出重定向符
< >& <& 输入重定向符
| 命令管道符
^ 转义字符
& 组合命令,前面的命令无论成不成功,都会执行后面的命令。
&& 组合命令,前面的命令执行成功后,才会执行后面的命令。
|| 组合命令,前面的命令不成功,才会执行后面的命令。
"" 字符串界定符
! 感叹号,在变量延迟问题中,用来表示变量,即%var%应该表示为!var!
正文
1.批处理变量引导符
%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数
-------------
批处理-----1.内部命令简介
https:///eihouwang/article/details/113729760 批处理-----2.常用特殊符号
https:///eihouwang/article/details/113745923 批处理-----3. for循环详解
https:///eihouwang/article/details/113761037 批处理-----4.for循环中的变量
https:///eihouwang/article/details/113775842。
DOS批处理中各种符号应用教程
DOS批处理中各种符号应用教程
一、DOS批处理中的常用标点符号
1. 波浪号“~”:称为Tilde,表示批处理程序中的参数延伸,如“%~f1”%表示输入参数,~表示延伸,f表示只取文件名(不含路径),1表示第1个参数。
2.百分号“%”:标示变量,通常表示传递参数给批处理程序,或用于定义本机的系统环境变量。
3.加号“+”:表示文件的连接符号,如拼接文件名,“%~f1+%~f2”表示拼接第一个参数和第二个参数并输出一个文件名,不含路径。
4. 星号“*”:表示通配符,用于指定其中一种文件的名称或属性,比如“*.bat”表示当前路径下所有以“.bat”结尾的文件。
5. 问号“?”:表示通配符,用来表示只有一个字符可以替换的位置,例如“aa?bb”表示可以由aa和bb之间任意一个字符替换,形成的文件名。
6. 竖线“,”:表示管道符,用来连接两个要顺序执行的命令,如“dir /o:d ,findstr ”,表示先将dir的输出结果传输到管道中,然后将结果传递给findstr命令,以对管道结果进行处理。
7. 分号“;”:表示命令分隔符,允许将多条指令写在同一行,中间以分号分隔,比如“dir; copy ;del ”,表示先执行dir命令,然后执行copy命令,最后执行del命令。
8.逗号“,”:表示参数分隔符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
批处理中符号作用大全
@
//隐藏命令的回显。
~
//在for中表示使用增强的变量扩展;
在set中表示使用扩展环境变量指定位置的字符串;
在set/a中表示按位取反。
%
//使用两个%包含一个字符串表示引用环境变量。
比如一个%time%可以扩展到当前的系统时间;
单个%紧跟0-9的一个数字表示引用命令行参数;
用于for中表示引用循环变量;
连续的两个%表示执行时脱为一个%。
^
//取消转义字符,即将所有转义字符的转义作用关闭。
比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;
在set/a中是按位异;
在findstr/r的[]中表示不匹配指定的字符集。
&
//命令连接字符。
比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令;
在set/a中是按位与。
*
//代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:/*.txt";
在set/a中是乘法。
比如"set/a x=4*2",得到的结果是8;
在findstr/r中表示将前一个字符多次匹配。
()
//命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;
-
//范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符;
在findstr/r中连接两个字符表示匹配范围;
-跟在某些命令的/后表示取反向的开关。
+
//主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了;
在set/a中是加法。
|
//管道符。
就是将上一个命令的输出,作为下一个命令的输入."dir /a/b | more"就可以逐屏的显示dir命令所输出的信息;
在set/a中是按位或;
在帮助文档中表示其前后两个开关、选项或参数是二选一的。
:
//标签定位符,可以接受goto命令所指向的标签。
比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就
可以转到":begin"变迁后面来执行批处理命令了。
" "
//界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号;
在for/f中将表示它们包含的内容当作字符串分析;
在for/f "usebackq"表示它们包含的内容当作文件路径并分
析其文件的内容;
在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、
/
//表示其后的字符(串)是命令的功能开关(选项)。
比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数;
在set/a中表示除法。
>
//命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。
比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去;在findstr/r中表示匹配单词的右边界,需要配合转义字符/使用。
实例:
文件1.txt的文件内容为:
1+1
使用命令c:\>dir *.txt >1.txt
这时候1.txt的内容如下
驱动器C 中的卷没有标签。
卷的序列号是301A-1508
C:\ 的目录
2003-03-11 14:04 1,005 FRUNLOG.TXT 2003-04-04 16:38 18,598,494 log.txt 2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 个文件18,630,070 字节
0 个目录1,191,542,784 可用字节
>将命令执行的结果覆盖了原始的文件内容。
在传递给控制台的时候程序将不会有任何回显(注意:这里的回显跟echo off关掉的回显不是同一概念。
Echo off 关掉的是输入命令的回显,这里的回显是程序执行中或后的回显)例:
C:\>dir *.txt >nul
程序将没有任何显示也不会产生任何痕迹。
>>
//命令重定向符。
将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖。
实例:
文件1.txt内同为:
1+1
使用命令c:\>dir *.txt >>1.txt
这时候1.txt的内容如下
1+1
驱动器C 中的卷没有标签。
卷的序列号是301A-1508
C:\ 的目录
2003-03-11 14:04 1,005 FRUNLOG.TXT 2003-04-04 16:38 18,598,494 log.txt 2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 个文件18,630,070 字节
0 个目录1,191,542,784 可用字节
>>将命令执行的结果覆加在了原始的文件内容后面。
<
//将其后面的文件的内容作为其前面命令的输入。
在findstr/r中表示匹配单词的左边界,需要配合转义字符/使用。
=
//赋值符号,用于变量的赋值。
比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a";
在set/a中表示算术运算,比如"set /a x=5-6*5"。
/
//这个"/"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:/windows/system32下,那么你"dir /"的话,就相当与"dir c:/"
在findstr/r中表示正则转义字符。
''
在for/f中表示将它们包含的内容当作命令行执行并分析其输出;
在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。
.
//
在路径的/后紧跟或者单独出现时:
一个.表示当前目录;
两个.表示上一级目录;
在路径中的文件名中出现时:
最后的一个.表示主文件名与扩展文件名的分隔。
&&
//连接两个命令,当&&前的命令成功时,才执行&&后的命令;||
//连接两个命令,当||前的命令失败时,才执行||后的命令。
$
//在findstr命令里面表示一行的结束。
``
在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。
[]
在帮助文档表示其中的开关、选项或参数是可选的;
在findstr/r中表示按其中指定的字符集匹配。
//在findstr/r中表示在此位置匹配一个任意字符;
在路径中表示在此位置通配任意一个字符;
紧跟在/后表示获取命令的帮助文档。
!
//当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用;
在set /a中表示逻辑非。
比如set /a a=!0,这时a就表示逻辑1。
,
//,符号相当于空格。
在某些特殊的情况下可以用,来代替空格使用。
例:c:\>dir,c:\;
;符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。
如执行过程中发生错误则只返回错误报告但程序还是会继续执行。
例:
DIR C:\;D:\;E:\F:\
以上的命令相当于
DIR C:\ DIR D:\ DIR E:\ DIR F:\。