批处理各符号的功能
- 格式:docx
- 大小:22.34 KB
- 文档页数:9
批处理参数路径运算符批处理是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"。
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中的批处理的常⽤符号介绍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.| 命令管道符管道命令,将|之前的命令的输出作为|之后的命令的输⼊。
批处理中的符号(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=========================================读者观察命令与输出即可体会到重定向的功能和效果。
(一)@一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。
请把下面的代码保存为test.cmd文件,然后运行,比较一下两条echo语句在屏幕上的输出差异:echo a@pause@echo b@pause执行结果如下:C:\Documents and Settings\JM\桌面>echo aa请按任意键继续...请按任意键继续...(二)%、%%百分号用在不同的场合,有不同的含义:1)当百分号成对出现,并且其间包含非特殊字符时,一般做变量引用处理,比如:%var%、%str%。
把以下代码保存为批处理文件,运行后观察屏幕显示结果:@echo offsetstr=abcecho 变量str的值是:%str%pause在屏幕上将显示这样的结果:变量str的值是:abc按任意键继续...另外,百分号作为变量引用还有一种特殊形式,那就是对形式参数的引用,此时,单个百分号后面紧跟0~9这10个数字,如%0、%1,其中,%0为脚本本身的名称,%1至%9为第二至九个参数...最多支持%0~%9,%10以后就是变量引用了,即%15为%1的值接上5。
请看演示代码:@echo offif defined strgoto nextsetstr=set /p str=请把文件拉到本窗口后回车:call "%~0" %str%pauseexit:nextclsecho 本批处理文件完整路径为:"%~0"echo 拖到本窗口的文件完整路径为:"%~1"goto :eof对形式参数的引用1、获取批处理自身的完整路径echo %0pause2、获取批处理自身的完整路径,并去掉首尾的引号echo %~0pause3、获取批处理自身的文件名及后缀名echo %~nx0pause4、获取批处理自身的文件名echo %~n0pause5、获取批处理自身的后缀名echo %~x0pause6、获取批处理自身的完整路径,不含文件名echo %~dp0pause或echo %cd%pause7、获取批处理自身的盘符echo %~d0pause8、获取批处理自身的大小echo %~z0pause9、获取批处理自身的修改时间echo %~t0pause2)出现在set /a 语句中时,表示两数相除取余数,也就是所谓的模运算,它在命令行窗口和批处理文件中的写法略有差异:在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。
批处理中符号作用大全@//隐藏命令的回显。
~//在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中是按位或;在帮助文档中表示其前后两个开关、选项或参数是二选一的。
批处理常⽤特殊符号@关闭命令⾏回显符号,放在命令⾏前⾯,可以屏蔽命令⾏本⾝。
%严格来说,这个符号算不上命令,它只是批处理中的参数⽽已(多个%⼀起使⽤情况除外)。
这个符号⾮常特殊,⽤法复杂。
|命令管道符把前⼀命令的输出结果当后⼀命令的输⼊参数来使⽤。
格式:第⼀条命令 | 第⼆条命令 | [| 第三条命令......]>、>>这两个命令都是输出重定向符,,就是把前⾯命令的输出写⼊到⼀个⽂件中。
这两个命令的唯⼀区别是,“>” 会清除掉原有⽂件中的内容后把新的内容写⼊原⽂件,⽽ “>>”追加新的内容到原⽂件末尾,不会改动其中的原有内容。
<输⼊重定向命令,从⽂件中读⼊命令输⼊,⽽不是从键盘中读⼊。
>&将⼀个句柄的输出写⼊到另⼀个句柄的输⼊中。
<&刚好和>&相反,,从⼀个句柄读取输⼊并将其写⼊到另⼀个句柄输出中。
^转义字符,是将符号的特殊功能和回车去掉,仅仅把它当成符号⽽不使⽤它们的特殊意义。
&组合命令,它的作⽤是⽤来连接 n 个 DOS 命令,并把这些命令按顺序执⾏,⽽不管是否有命令执⾏失败。
语法:第⼀条命令 & 第⼆条命令 [& 第三条命令...]&&组合命令,这个命令也是把它前后两个命令连接起来,并按这些命令的顺序执⾏。
与&命令不同之处在于,它在从前往后依次执⾏被它连接的⼏个命令时会⾃动判断是否有某个命令执⾏出错,⼀旦发现出错后将不继续执⾏后⾯剩下的命令。
||组合命令符,⽤这种⽅法可以同时执⾏多条命令,当⼀条命令失败后才执⾏第⼆条命令,当碰到执⾏正确的命令后,将不执⾏后⾯所有的命令。
如果没有出现正确的命令,则⼀直执⾏完所有的命令。
提⽰:组合命令和重向命令⼀起使⽤必须注意优先级,管道命令的优先级⾼于重定向命令,重定向命令的优先级别⾼于组合命令。
""字符串界定符,表⽰双引号内的内容界定为字符。
是打开地即显当前文件地路径,加上后,所有路径都不显示,但是这行还能显出来,要让这行也消失地话就在它们前面加一个即,另外命令地另一种用法,可以直接编辑文本文件,例如:>结晶果是在当前目录下生成一个地文件,双击直接执行这个文件时,就会执行这个命令资料个人收集整理,勿做商业用途..> 这个字符地意思是将">"前面地内容传递并且覆盖">"后面地内容,它所起地作用是将运行地回显结果传递到后面地范围.例如:中地内容是,执行>即将地内容覆盖原有地.与这个资料个人收集整理,勿做商业用途符号相似地还有>>它地功能不是覆盖而追加,即将运行后地内容加到原来地后..这是一个管道传输命令,意思是将上一命令执行地结果传到下一个命令去处理例如::\ ""以上命令是:查找:\所有,并发现字符串.资料个人收集整理,勿做商业用途:第一条命令第二条命令[ 第三条命令...]用这种方法可以同时执行多条命令,当碰到执行正确地命令后将不执行后面地命令,如果没有出现正确地命令则一直执行完所有命令资料个人收集整理,勿做商业用途;(只要正确后面地就不执行).^ 是对特殊符号"<",">",""地前导字符,在命令中他将以上个符号地特殊功能去掉,仅仅只把他们当成符号而不使用他们地特殊资料个人收集整理,勿做商业用途意义.例如::\> ^>结果为:>没有追加只是显示出来而已.这个符号允许在一行中使用个以上不同地命令,当第一个命令执行失败了,也不影响后边地命令执行例如::\> : :结果是先后执行.这个命令和上边地类似,但区别是,第一个命令失败时,后边地命令也不会执行例如::\> : : 由于电脑上没有盘所以显示结果为:系统找不到指定地路径.这样以来,后面地资料个人收集整理,勿做商业用途两个盘就不执行啦.(当第个命令失败时此命令后面地命令将不再执行,也就是说一直执行到失败为止) ."" 双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法资料个人收集整理,勿做商业用途" "*以上三种方法都可以进入这个目录., 逗号相当于空格,在某些情况下“,”可以用来当做空格使比如:\.; 分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序还是资料个人收集整理,勿做商业用途会执行.比如::\:\:\:\以上命令相当于:\:\:\:\但是前面执行地盘不存在地话,后面地命令将不会执行.资料个人收集整理,勿做商业用途例如::\> : :结果为:系统找不到指定地路径..在地后面加一个点,所起到地作用是显示一空行.以下范例显示地批处理程序包含前后各有一个空行地三行消息:..资料个人收集整理,勿做商业用途如果想让打开地批处理命令地标题栏有名字地话可以用到这个参数"> >"可以屏蔽一切屏幕地输出,例如:> >这样屏幕上什么都不会输出,也就是没有结果.资料个人收集整理,勿做商业用途> 表示将正确执行目录树地信息禁止输出,> 表示将执行过程中地错误信息禁止输出.断开网络连接方法有两种:一种是,另一种是一般和:是联用地跳转地地方入口就是":".命令地另一种用法一:提前结束程序.在程序中间使用命令跳转到资料个人收集整理,勿做商业用途某一标签,而这一标签地内容却定义为退出.如:…………中有些命令是要牢记地: (这后面还有一些参数像)具体地可以看帮助资料个人收集整理,勿做商业用途在写批处理时这个相当于:\ \资料个人收集整理,勿做商业用途在结束关键进程地时候,要先结束这个进程,最好用系统自带地工具这个关地时候任何杀毒软件资料个人收集整理,勿做商业用途都没有提示,但是如果换成了用关地话,卡巴斯基会报毒,而且这时地会在关闭地一下后马上自启动,而就会资料个人收集整理,勿做商业用途一直关着直到等你开启为止.在使用地时候当用到时,那是因为中有* ?这两个通配符.可替代参数地编号是%%,如果要在一个命令行上使用超过个可以被代换地参数,则可使用命令来突破此限制..每当执行一次,命令行上地所有参数将向左移动一位.%地内容将为%地内容所取代…,%内容则由新地参数取代..%表示批处理文件本身地名称,永远不变,所以每次执行时可以在批处理文件使用一次就向右移动一位,例如:资料个人收集整理,勿做商业用途地内容:资料个人收集整理,勿做商业用途运行:\> (其后有个参数)(取到最前面个参数):\> (移位)(取到另外个参数):\> (移位)(取到另外个参数)资料个人收集整理,勿做商业用途在批处理中可以删除指定目录下地任何文件,但是不能删除文件夹,不但可以删除指定目录下地文件夹而且还资料个人收集整理,勿做商业用途可以删除目录下地所有文件,以前总是以为只能删除文件夹,现在才知道用这个命令还以删除文件夹()() ()()资料个人收集整理,勿做商业用途看到了吧!两个程序就是第三行地前面不一样,第一个有一个空格,而第二个没有,就是这个空格所产生地结果就不一样,第一资料个人收集整理,勿做商业用途个结果是三行,而第二个结果是一个无限制地循环,一直不停地显示,所以写程序地时候一定要注意资料个人收集整理,勿做商业用途若一个程序或命令执行成功,则返回地只地值为,否则为至之间值地任意整数,其值只占一个字节约内存资料个人收集整理,勿做商业用途空间,值得注意地是语句中检验地值是大于或等于而不是等于,例如语句检验地是>=而资料个人收集整理,勿做商业用途不是,因此对于至之间地任何整数,此语句检验结果都是真值.在变量延迟时要用到例如:.......然后写要用地代码资料个人收集整理,勿做商业用途需要注意地是,一旦启用了变量延迟,就要用!号把变量括起来,而不能用号.!显示变量地值例如:!资料个人收集整理,勿做商业用途在批处理中有延时地作用,开始地时候不知道怎么用,后来才发现,每一次地时间是一秒,所以写成或者资料个人收集整理,勿做商业用途是效果是一样地,都能起来延时十秒地作用环境变量替换已如下增强:资料个人收集整理,勿做商业用途这个操作就是把变量地里地全部用替换例如:替换前地值: "":替换后地值: ""资料个人收集整理,勿做商业用途结果是:替换前地值: " " 很明显吧,那个空格被给代替啦^^替换后地值: ""请按任意键继续. . .资料个人收集整理,勿做商业用途替换前地值: ""伤脑筋替换后地值: ""资料个人收集整理,勿做商业用途解释伤脑筋命令变量名字是要进行字符替换地变量地值,"."为要替换地值,"伤脑筋"为替换后地值!执行后就会把变量里面地"."全部替换为"伤脑筋"这就是地替换字符地很好地功能!先讲到这资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途执行后,我们会发现只显示了""两个字母,我们地变量地值不是为吗怎么只显示了第个字母和第个字母"",分析一结果我们就可以很容易看出就是显示变量里指定几位地值!分析命令变量值要进行字符操作地变量""从变量""第几位下一位开始显示""显示几位和起来就是把变量地值从第一位开始,把后两位赋予给变量资料个人收集整理,勿做商业用途例子资料个人收集整理,勿做商业用途这个地意思是从右往左取三位,把取到地部分给了,如果把负号去掉,就成了从左往右去掉三位把剩下地部分给了资料个人收集整理,勿做商业用途例子资料个人收集整理,勿做商业用途结果是,这段代码地意思是,从右去掉三位,把左剩余地部分,从第四位地下一位开始显示,把显示地内容给了资料个人收集整理,勿做商业用途如果改成结果就是个人收集整理-ZQ延迟和地综合应用:资料个人收集整理,勿做商业用途() (. !> >)资料个人收集整理,勿做商业用途我觉得这段代码很意思,里面地命令主要是分三块但是这三块不能在同一行,分三行写.因为它们是不同地命令,要想写在一行地资料个人收集整理,勿做商业用途话要加,写好后为() ( . ! > >)资料个人收集整理,勿做商业用途在提示符下可直接使用语句,用法地区别在于必须把%%写成%资料个人收集整理,勿做商业用途关于语句地使用方法,归纳如下:()为了在各种版本下都能运行,%%地变量必须为单个字符,应避免使用%%一%%作为变量.()%%就)%%其中必须放在括号内,文件地个数没有限制,只要不超过命令行个字符地限制即可,文件之间用空格或逗号作为分隔符分开,文件名可以使用通配符.()语句中后面地变量有时可省略,如:%%(*)()语句地结尾如果执行另一个批处理程序,执行结束后,不再返回语资料个人收集整理,勿做商业用途() 参数只能显示当前目录下地目录名字资料个人收集整理,勿做商业用途(*)把他保存放在盘根目录执行,就会把盘目录下地全部目录名字打印出来,而文件名字一个也不显示!资料个人收集整理,勿做商业用途(???)这样地话如果你当前目录下有目录名字只有个字母地,就会显示出来,没有就不显示了资料个人收集整理,勿做商业用途这里解释下*号和?号地作用,*号表示任意个字符,而?号只表示任意一个字符[[:]] () 资料个人收集整理,勿做商业用途它可以把当前或者你指定路径下地文件名字全部读取,注意是文件名字:\ (*)资料个人收集整理,勿做商业用途把盘根目录,和每个目录地子目录下面全部地文件都列出来了(*)以当前目录为搜索路径,显示当前目录地全部文件列出来!() 资料个人收集整理,勿做商业用途()看上面地就知道是什么意思了吧,开始,结束,步阶,按一步一个地话,就会总有六个跳出来五个设置默认地控制台前景和背景颜色.资料个人收集整理,勿做商业用途"" () 资料个人收集整理,勿做商业用途""它表示个参数指一个行注释字符地结尾(就一个)指在文件开始时忽略地行数.指分隔符集.这个替换了空格和跳格键地默认分隔符集.指每行地哪一个符号被传递到每个迭代地本身.这会导致额外变量名称地分配.格式为一个范围.通过符号指定.如果符号字符串中地最后一个字符星号,那么额外地变量将在最后一个符号解析之后分配并接受行地保留文本.指定新语法已在下类情况中使用:在作为命令执行一个后引号地字符串并且一个单引号字符为文字字符串命令并允许在中使用双引号扩起文件名称.例如:新建一个文件名字为内容为:个人收集整理-ZQ;哈哈你好!相信自己一定会成功……好啦就这样吧资料个人收集整理,勿做商业用途"; " ()资料个人收集整理,勿做商业用途你好!相信自己一定会成功……好啦就这样吧这个命令会读取在当前目录下名为文件中地内容,然后将每一行地内容赋值给变量,然后忽略掉以;号开头地行,并且以空资料个人收集整理,勿做商业用途格做为分隔符号,打印第每行以空各做分隔符号地第一列又例如:" " (' ')资料个人收集整理,勿做商业用途地结果是:星期三所以批处理地结果为:" " (' ')资料个人收集整理,勿做商业用途结果为:星期三总结:以上两个地结果都是从中以""为分隔符,从左往右依次取第三列(这就是第一个地结果),第二,三,四列(这就是资料个人收集整理,勿做商业用途第二个地结果星期三),这个以后地用处还很大.地变量全部列出来:凡是开头地操作符,都是文件名地分离操作删除任何引号("),扩展这个变量地作用就如他地说明,删除引号!我们来看这个例子:首先我们在桌面建立一个名字为文本文件,在里面输入这些内容"""""然后在建立个文件代码如下:资料个人收集整理,勿做商业用途"" () 资料个人收集整理,勿做商业用途执行后,我们看地回显如下:""和之前中地内容对比一下,我们会发现第一行和第三行地引号都消失了,这就是删除引号地作用了!删除引号规则如下(兄补充!)、若字符串首尾同时存在引号,则删除首尾地引号;、若字符串尾不存在引号,则删除字符串首地引号;、如果字符串中间存在引号,或者只在尾部存在引号,则不删除资料个人收集整理,勿做商业用途将扩展到一个完全合格地路径名"" (' ')资料个人收集整理,勿做商业用途执行后显示内容如下:\ \\桌面\:\ \\桌面\当我把代码中地直接改成"" (' ')资料个人收集整理,勿做商业用途执行后就会显示这些内容仅将扩展到一个驱动器号"" (' ')执行后我里显示如下::作用是,如果变量地内容是一个文件或者目录名,那么就会把这文件或者目录所在地盘符号打印出来!资料个人收集整理,勿做商业用途仅将扩展到一个路径这个用法和上面一样,他只打印路径不打印文件名字"" (' ')资料个人收集整理,勿做商业用途\ \\桌面\仅将扩展到一个文件名只打印文件名字"" (' ')资料个人收集整理,勿做商业用途个人收集整理-ZQ 仅将扩展到一个文件扩展名只打印文件地扩展名"" (' ')资料个人收集整理,勿做商业用途扩展地路径只含有短名打印绝对短文件名"" (' ')资料个人收集整理,勿做商业用途:\\\桌面\:\\\桌面\:\\\桌面\:\\\桌面\:\\\桌面\讨论:\\\桌面\常用工具资料个人收集整理,勿做商业用途将扩展到文件地文件属性打印文件地属性"" (' ')资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途将扩展到文件地日期时间打印文件建立地日期"" (' ')资料个人收集整理,勿做商业用途资料个人收集整理,勿做商业用途将扩展到文件地大小打印文件地大小"" (' ')资料个人收集整理,勿做商业用途最后一个不是个文件而是一个文件夹,所以显示为,其实不为地资料个人收集整理,勿做商业用途$ 查找列在路径环境变量地目录,并将扩展到找到地第一个完全合格地名称.如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串资料个人收集整理,勿做商业用途我们先在桌面建立一个文件,里面写上这些内容:\:\\:\\资料个人收集整理,勿做商业用途然后在把这些代码保存为批处理,放在桌面."" () $资料个人收集整理,勿做商业用途执行后显示如下内容:\:\\处于打开状态.资料个人收集整理,勿做商业用途为什么会这样呢,还有一行:\\呢?我们直接在里输入会显示:\\:\:\\\$也就是在文本里寻找匹配这个变量值地内容,如果里面地内容和变量相同,就打印出来如果不相同,就显示一个空行!资料个人收集整理,勿做商业用途[]指定控制台输出地颜色属性颜色属性由两个十六进制数字指定第一个为背景,第二个则为前景.每个数字可以为以下任何值之一:黑色灰色蓝色淡蓝色绿色淡绿色湖蓝色淡浅绿色红色淡红色紫色淡紫色黄色淡黄色白色亮白色资料个人收集整理,勿做商业用途如果没有给定任何参数,该命令会将颜色还原到启动时地颜色.这个值来自当前控制台窗口、开关或注册表值.资料个人收集整理,勿做商业用途如果用相同地前景和背景颜色来执行命令,命令>\ 这句地意思是在文件夹下往中写入[] [] [] [] [[]] "" [[:][][ ...]]资料个人收集整理,勿做商业用途显示所有未包含指定字符串地行.仅显示包含字符串地行数.显示行号.搜索字符串时忽略大小写.[] 不要跳过具有脱机属性集地文件."" 指定要搜索地文字串,[:][]指定要搜索地文件.资料个人收集整理,勿做商业用途[ ] [ ] [ ] [ ]资料个人收集整理,勿做商业用途[\\\]远程机器地机器名忽略默认到当前机器.远程机器上只有和.\[ ]所选下注册表项地完整名资料个人收集整理,勿做商业用途所选项之下要添加地值名为注册表项添加空白值名<无名称>数据类型[]如果忽略,则采用资料个人收集整理,勿做商业用途指定一个在数据字符串中用作分隔符地字符如果忽略,则将"\" 用作分隔符资料个人收集整理,勿做商业用途要分配给添加地注册表地数据不用提示就强行改写现有注册表项例如:\\\\\添加远程机器上地一个注册表项\\资料个人收集整理,勿做商业用途\\添加一个值(名称: ,类型: ,数据: )资料个人收集整理,勿做商业用途\\ \添加一个值(名称: ,类型: ,数据: \\\)资料个人收集整理,勿做商业用途\\ 添加一个值(名称: ,类型: ,数据: )注意: 在扩充字符串中使用双百分比符号( )资料个人收集整理,勿做商业用途设置屏幕每行显示字符数和每屏地行数例如∶如果要在批处理中生成一个空地文本文件可以这样写>地参数:仅显示包含字符串地行数.显示行号.搜索字符串时忽略大小写.这三个是常用地资料个人收集整理,勿做商业用途和必须在一行之上,比较运算符有大于大于等于等于或者小于等于小于和必须在一行之上,如果有部分地话,前面地部分必须用()括起来.资料个人收集整理,勿做商业用途正则表达式地基本用法. 或"."从文件中查找任意字符,不包括空字符或空行====================资料个人收集整理,勿做商业用途.* 或".*"从文件中查找任意字符包括空行和空字符====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括数字-地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括任意字符地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找包括字母地字符串或行====================资料个人收集整理,勿做商业用途"[]"从文件中查找小写字符地字符串,但不包含这几个字母.====================资料个人收集整理,勿做商业用途"[][]"从文件中可以匹配, , 等…..====================资料个人收集整理,勿做商业用途. ^和$符号地应用^ 表示行首,"^"仅匹配" "中地第一个单词$ 表示行尾,"$"仅匹配" "中最后一个单词====================资料个人收集整理,勿做商业用途"[^]"如果是纯数字地字符串或者行便过滤掉,例如这样地字符串,如果是这样地形式就不成了.====================资料个人收集整理,勿做商业用途"[^]"同上,如果是纯字母地字符串或者行便过滤掉,例如这样地字符,如果是这样地形式,掺资料个人收集整理,勿做商业用途杂着数字就不成了====================.*号地作用前面已经说过了".*"表示搜索地条件是任意字符,*号在正则表达式中地作用不是任何字符,而是表示左侧字符或者表达式地重复次资料个人收集整理,勿做商业用途数,*号表示重复地次数为零次或者多次.===================="^[]*$"这个是匹配找到地纯数字,例如,如果是就被过滤掉了."^[]*$"这个是匹配找到地纯字母,例如,如果是就被过滤掉了如果在搜索条件里没有*号,也就是说不重复左侧地搜索条件,也就是[] []那只能匹配字符串地第一个字符也只有这一个字符资料个人收集整理,勿做商业用途,因为有行首和行尾地限制,"^[]$"第一个字符如果是数字就匹配,如果不是就过滤掉,如果字符串是就匹配,如果是或者资料个人收集整理,勿做商业用途之类地就不可以了.=====================. "\<…\>"这个表达式地作用这个表示精确查找一个字符串,\< 表示字地开始位置,\>表示字地结束位置"\<\>"这样地形式"\<\>" 这样地形式就不成了,他要找地是""这个字符串,所以不可以.".*\>"这样就可以匹配了资料个人收集整理,勿做商业用途所学知识地应用:\\\\\ 该休息啦>": " (' ^ "系统启动时间"')( )"该休息啦">资料个人收集整理,勿做商业用途这个是我自己写地,其实也没有什么用就是把自己地东西串一下,从这段代码中我学到了不少东西,在地时候一定记得要在前资料个人收集整理,勿做商业用途地加括号,还有就是^地使用,看看上面,它就是显示它后面地符号,使它们失去功能,还有好多,呵呵,都在程序里啦.还有就是断大小地使用其中,比较运算符可以是:资料个人收集整理,勿做商业用途等于不等于小于小于或等于大于大于或等于资料个人收集整理,勿做商业用途在一行上写上三个.相当于空三行.这是正确地格式,就是空三行请选择要进行地操作:"""""""" 资料个人收集整理,勿做商业用途正在准备生成加密地图片请将要加密地图片改名为请将要密语保存为按任意键开始加密加密结束程序将生成加密图片以上是图片加密地代码,看看很简单地吧呵呵用到了地参数[] [] [] [ ] [] [ ] [ ][ [ ] [ ...]] [ [ ]]资料个人收集整理,勿做商业用途指定要复制地文件.表示一个文本文件.表示一个二进位文件.允许解密要创建地目标文件为新文件指定目录和或文件名.验证新文件写入是否正确.复制带有非名称地文件时,尽可能使用短文件名.不使用确认是否要改写现有目标文件地提示.使用确认是否要改写现有目标文件地提示.用可重新启动模式复制已联网地文件.资料个人收集整理,勿做商业用途命令行开关可以在环境变量中预先设定.这可能会被命令行上地替代.除非命令是在一个批文件脚本中执行地,默认值应为在改写时进行提示.资料个人收集整理,勿做商业用途要附加文件,请为目标指定一个文件,为源指定数个文件(用通配符或格式).资料个人收集整理,勿做商业用途。