关键词不能为空

当前您在: 主页 > 英语 >

批处理各符号的功能

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 20:49
tags:

-

2021年2月28日发(作者:蜕变的英文)



批处理各符号的功能:



1.


echo


有两个状态一个是


on


一个是


off


默认的是

on


它的


功能是显示当前文件的路径,如果不写


on


或者是


off



时候,默认情况下



是打开的即显当前 文件的路径,加上


off


后,所有路径都


不显示,


但是


echo off


这行 还能显出来,


要让这行也消失


的话就在它们前面



加一个


@



@echo off,


另外


echo

< br>命令的另一种用法,可


以直接编辑文本文件,例如:



echo netstat -an >


结晶果是在当前目录下 生成一个



的文件,


双击直接执行这个文 件时,


就会执行


netstat


-an


这个命令





2.


>


这个字符的意思是将



前面的内容传递并 且覆盖



后面的内容,


它所起的作用是将 运行的回显结果传递到后


面的范围


.


例如:



中的内容是


1113333


,执行


ipconfig


/all >


即将


ipconfig /all


的 内容覆盖原有的


1113333


。与这个



符号相似的还有


>>


它的功能不是 覆盖而追加,即将运行


后的内容加到原来的


1113333


后。



3.


|


这是一个管道传输命令,


意思是将上一命令执行的结果


传到下一个命令去处理



例如:



dir c:|find < /p>


以上命令是:查找


C


< br>


所有,并发现


TXT


字符串。< /p>



||


Usage


:第一条命令



||


第二条命令



[||


第三条命令


...]


用这种方法可以同时执行多条命令,


当碰到执行正确的命


令后将不执行后面的命令,


如果没有出现正确的命令则一

直执行完所有命令




(


只要正确后面的就不执行


)


4.


^


是对特殊符号


的前导字符,在命令中他将


以上


3


个符号的特殊功能去掉,


仅仅只把他们当成符号而


不使用他们的 特殊



意义。



例如:



C:>echo ^>ipconfig



结果为:


>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


盘所以显示结果为:系统找不到指定的路径。

< p>
这样以来,后面的



两个盘就不执行啦。


(


当第


n


个命令失败时 此命令后面的


命令将不再执行


,


也就是 说一直执行到失败为止


)


7.



双引号允许在字符串中包含空格,进入一个特殊目录


可以用如下方法



cd


cd progra~1


cd pro*


以上三种方法都可以进入


program files


这个目录



8.


,


逗号相当于空格,


在某些情况下< /p>


“,”


可以用来当做空格使



比如



dir,c:


9.


;


分号,当命令相同时,可以 将不同目标用;来隔离,但


执行效果不变,


如执行过程中发生错 误,


则只返回错误报


告,但程序还是



会执行。



比如:



dir c:;d:e:;f:


以上命令相当于



dir c:


dir d:


dir e:


dir f:


但是前面执行的盘不存在的话,后面的命令将不会执行。



例如:


C:>dir w:;d: /p;e: /p


结果为:系统找不到指定的路径。



1 0.



echo


的后面加一个点,


所起到的作用是显示一空行。




以下范例显示的批处理程序包含前后各有一个空行的三


行消息:



@echo off


echo.


echo This batch program


echo formats and checks


echo new disks


echo.


如果想让打开的批处理命令的标题栏有名字的话可以用


title


这个参数



title filename




可以屏蔽一切屏 幕的输出,例如:


dir >nul


2>nul


这样屏幕上什么都不会输出,也就是没有结果。



1>nul


表示将正确执行目录树的信息禁止输出,


2>nul


表示将执行过程中的错误信息禁止输出。




断开网络连接方法有两种


:


一种是


rasphone /h adsl


,< /p>


另一


种是


rasdial adsl /d



一般和


:


是联用的


goto


跳转的地方入口就是




goto


命令的另一种用法一:提 前结束程序。在程序中间


使用


goto


命令跳转到



某一标签,而这一标签的内容却定义为退出。如:



……



goto end


……



:end



dir


中有些命令是要牢记的



dir d: /s /p /b (/a


这后面还有一些参数 像


h,r,d,s/d)


具体


的可以看 帮助




%userprofile%


在写批处理时这个相当于


C:Documents


and SettingsAdministrator


在结 束关键进程的时候,


要先结束



这个进程 ,


最好用系统自带的工具


taskkill

这个关



的时


候任何杀毒软件



都没有提示,但是如果换成了用


ntsd< /p>


关的话,卡巴斯基


会报毒,而且这时的


e xplorer


会在关闭的一下后马上自


启动,而


taskkill


就会



一直关着直到等你开启为止。



在使用


for


的时候当用到



/d

< br>时,


那是因为


set


中有


* ?



两个通配符




shift


1.

< br>可替代参数的编号是%


o-



9


,如果要在一个命令行上


使用超过


10


个可以被代换的参数,


则可使用


SHI FT


命令


来突破此限制。


< p>
2.


每当执行


sHIFT


一次,


命令行上的所有参数将向左移动


一位。%


1


的内容将为%


2


的内容所取 代



,%


9


内 容则


由新的参数取代。



3.



o


表示批处理文件本身的名称,永远不变,所 以每次


执行时可以在批处理文件使用一次


shift

< p>
就向右移动一位


,


例如:




的内容:



@echo %1 %2 %3 %4 %5 %6 %7 %8 %9


shift


@echo %1 %2 %3 %4 %5 %6 %7 %8 %9


shift


@echo %1 %2 %3 %4 %5 %6 %7 %8 %9


pause


运行



c:>a 1 2 3 4 5 6 7 8 9 10 11(


其后有


11

个参数


)


1 2 3 4 5 6 7 8 9 (


取到最前面


9


个参数


)


c:>shift (


移位


)


2 3 4 5 6 7 8 9 10 11(


取到另外


9


个参数


)


c:>shift (


移位


)


3 4 5 6 7 8 9 10 (


取到另外


9


个参数


)



在批处理中


del /f /s /q


可以删除指定目录下的任何文件,


但是不能删除文件夹,


rd /s /q


不但可以删除指定目录下


的文件夹而且还

< p>


可以删除目录下的所有文件,以前总是以为


rd


只能删除


文件夹,现在才知道用这个命令还以删除文件夹




@echo off @echo off


:top :top


if (%1)==() goto end if (%1)==()goto end


shift shift


echo still running echo still running


goto top goto top


:end :end



< p>
看到了吧!两个程序就是第三行的


goto


前面不 一样,第


一个有一个空格,


而第二个没有,

就是这个空格所产生的


结果就不一样,第一



个结果是三行


still running

,而第二个结果是一个无限制


的循环,一直不停的显示


st ill running


,所以写程序的时


候一定要注意




errorlevel


若一个程序或


DOS


命令执行成功,则返回的


E



RORLEVEL


的值为


o


,否则为


1

< br>至


255


之间


AscII


值的任


意整数,其值只占一个字节约内存


< /p>


空间


,


值得注意的是

IF


语句中检验的


ERRORLEVEL

< br>值是大


于或等于而不是等于,例如语句


IF ERRORLEVEL 5


检验


的是


E RRORLEVEL


>=


5




不是


ERRORLEVEL=5


,因此对于


5



255


之间的任何整


数,此语句检验结果都是真值。




在变量延迟时要用到


setlocal EnableDelayedExpansion


例如:



@echo off


setlocal EnableDelayedExpansion


.......


然后写要用的代码



需要注意的是,< /p>


一旦启用了变量延迟,


就要用!


号把变量


括起来,而不能用


%


号。



echo !n!


显示变量

n


的值



例如:



@echo off &SETLOCAL ENABLEDELAYEDEXPANSION


set mm=gril&echo !mm!


pause


ping


在批处理中有延时的作用,开始的时候不知道怎么


用,


后来才发现,



ping


一次的时间是一秒


,


所以写成


pin g


/n 10 127.1


或者




ping /n 10 localhost


效果是一样的,都能起来延时十


秒的作用




set


SET /A expression


环境变量替换已如下增强


:


%PATH:str1=str2%


%PATH:~10,5%



%PATH:~-10%


%PATH:~0,-2%


%PATH:str1=str2%


这个操作就是把变量


%PATH%


的里



str 1


全部用


str2


替换



例如:



@echo off


set a=


echo


替换前的值


:


set var=%a: =qq%


echo


替换后的值


:


pause


结果是:替换前的值


:


很明显吧,那 个


空格被


qq


给代替啦


^-^


替换后的值


:


请按任意键继续


. . .



@echo off


set a=


echo


替换前的值


:


set var=%a:.=


伤脑筋


%


echo


替换后的值


:


pause


解释


set var=%a:.=


伤脑筋


%


set


命令



var


变量名




a


是要进行字符替换的变量的


值< /p>


,


为要替换的值


,


伤脑筋



为替换后的值


!


执行后就会把变量


%a%


里面的



全部替换为


< br>伤脑筋



这就是


set

< p>
的替换字符的很好的功能


!


先讲到这




%PATH:~10,5%


@echo off


set a=


set var=%a:~1,2%


echo %var%


pause


执行后


,


我们会发现只显示了



两个字母


,


我们的变



%a%

< br>的值不是为





怎么只显示了第


2


个字母和第


3


个字母



分析一结果

< br>我们就可以很容易看出



%PATH:~10,5%


就是显示变量


PATH


里指定几位的值


!


分析


set var=%a:~1,2%


set


命令



var


变量值



a


要进行字符操作的变量




从变量




第几位下一位开始显示




显示几位



和 起来就是把变量


a


的值从第一位开始


,


把后两位赋予给


变量


var


%PATH:~-10%


例子



@echo off


set a=


set var=%a:~-3%


echo %var%


pause



这个的意思是从右往左取三位,把取到的部分给了


var ,< /p>


如果把负号去掉,


就成了从左往右去掉三位把剩下的部分


给了


var


%PATH:~0,-2%


例子



@echo off


set a=


set var=%a:~4,-3%


echo %var%


pause


结果是


verybat


,这段代码的意思是,从右去掉三位,把


左剩余的部分,


从第四位的下一位开始显示,

< br>把显示的内


容给了


var


如果改成


set var=%a:~3,-3%


结果就是


.verybat


延迟和


set


的综合应用:



@echo off


setlocal enabledelayedexpansion



title I Love Greatwall


set love=I Love Greatwall Forever


for /l %%i in (1,1,24) do (cls


echo. !love:~0,%%i!


ping/n 1 127.1>nul 2>nul)


pause


我觉得这段代码很意思,


do


里面的命令主要是分三块但


是这三块不能在 同一行,分三行写


.


因为它们是不同的命


令,要想写在一行的



话要加


&


,写好后为


for /l %%i in (1,1,24) do (cls


&echo. !love:~0,%%i! &ping/n 1 127.1>nul 2>nul)



for



DOs


提示符下可直接使用


FOR


语句,用法的区别在于


必须把%%

variable


写成%


variable



关于


FOR


语句的使用方法,归纳如下:



(1)


为了在各种


DOS


版本下都能运行,


% %


vart6le


的变量


必须为单个字 符,应避



免使用%%


o


一%%


9


作为变量。



(2)FOR


%%


variaNeIN tnle s



)command


%%


variable




File set


必须放在



括号内,文件的个数没有限制,只要不超过


D05


命令行


127


个字符的限制即可,文件之



间用空格或逗号作为分隔符分开,


文件名可以使用通配符。



(3)FoR


语句中后面的变量有时可省略,如:



FOR


%%


a IN(*.BAK)D0 DIR


(4)FOR


语句的结尾如 果执行另一个批处理程序,执行结


束后,不再返回


FOR




FOR /D %%variable IN (set) DO command /D


参数只能


显示 当前目录下的目录名字



@echo off


for /d %%i in (*) do @echo %%i


pause


把他保存放在


C


盘根目录执行


,


就会把


C


盘目录下的全部


目录名字打印出来


,


而文件名字一个也不显示


!


@echo off


for /d %%i in (???) do @echo %%i


pause


这样的 话如果你当前目录下有目录名字只有


1-3


个字母



,


就会显示出来


,


没有就不显示了



这里解释下


*


号和


?


号的作用

< p>
,*


号表示任意


N


个字符


,



?



只表示任意一个字符



FOR /R [[drive:]path] %%variable IN (set) DO


command


它可以把当前或者你指定路径下的文件名字全 部读取


,



意是文件名字



@echo off


for /r c: %%i in (*.exe) do @echo %%i


pause

< p>


C


盘根目录


,


和每个目录的子目录下面全部的


EXE


文件


都列出来了




@echo off


for /r %%i in (*.exe) do @echo %%i


pause


以 当前目录为搜索路径


,


显示当前目录的全部

EXE


文件列


出来


!

-


-


-


-


-


-


-


-



本文更新与2021-02-28 20:49,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/683772.html

批处理各符号的功能的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文