dos批处理命令小程序文件.docx

上传人:b****2 文档编号:1866069 上传时间:2022-10-24 格式:DOCX 页数:29 大小:29.49KB
下载 相关 举报
dos批处理命令小程序文件.docx_第1页
第1页 / 共29页
dos批处理命令小程序文件.docx_第2页
第2页 / 共29页
dos批处理命令小程序文件.docx_第3页
第3页 / 共29页
dos批处理命令小程序文件.docx_第4页
第4页 / 共29页
dos批处理命令小程序文件.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

dos批处理命令小程序文件.docx

《dos批处理命令小程序文件.docx》由会员分享,可在线阅读,更多相关《dos批处理命令小程序文件.docx(29页珍藏版)》请在冰豆网上搜索。

dos批处理命令小程序文件.docx

dos批处理命令小程序文件一.简单批处理部命令简介先来看一个垃圾清理批处理文件吧echooffecho正在清除系统垃圾文件,请稍等.del/f/s/q%systemdrive%*.tmpdel/f/s/q%systemdrive%*._mpdel/f/s/q%systemdrive%*.logdel/f/s/q%systemdrive%*.giddel/f/s/q%systemdrive%*.chkdel/f/s/q%systemdrive%*.olddel/f/s/q%systemdrive%recycled*.*del/f/s/q%windir%*.bakdel/f/s/q%windir%prefetch*.*rd/s/q%windir%temp&md%windir%tempdel/f/q%userprofile%recent*.*del/f/s/q%userprofile%LocalSettingsTemporaryInternetFiles*.*del/f/s/q%userprofile%LocalSettingsTemp*.*del/f/s/q%userprofile%recent*.*echo清除系统垃圾完成echo.&pause将上面的容保存为*.bat就可以运行了,清理系统垃圾下面是详细讲解1.Echo命令打开回显或关闭请求回显功能,或显示消息。

如果没有任何参数,echo命令将显示当前回显设置。

语法echoon|offmessageSample:

echooff/echohelloworld在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

2.命令表示不显示后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。

Sample:

echooffechoNowinitializingtheprogram,pleasewaitaminite.formatX:

/q/u/autoset(format这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。

)3.Goto命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。

语法:

gotolabel(label是参数,指定所要转向的批处理程序中的行。

)Sample:

if%1=gotonoparmsif%2=gotonoparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。

)Remcheckparametersifnullshowusage:

noparmsechoUsage:

monitor.batServerIPPortNumbergotoend标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:

用来表示这个字母是标签,goto命令就是根据这个:

来寻找下一步跳到到那里。

最好有一些说明这样你别人看起来才会理解你的意图啊。

4.Rem命令注释命令,在C语言中相当与/*-*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。

RemMessageSample:

RemHereisthedescription.5.Pause命令运行Pause命令时,将显示下面的消息:

Pressanykeytocontinue.Sample:

echooff:

begincopya:

*.*d:

backechoPleaseputanewdiskintodriverApausegotobegin在这个例子中,驱动器A中磁盘上的所有文件均复制到d:

back中。

显示的注释提示您将另一磁盘放入驱动器A时,pause命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。

6.Call命令从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。

call命令接受用作调用目标的标签。

如果在脚本或批处理文件外使用Call,它将不会在命令行起作用。

语法callDrive:

PathFileNameBatchParameters:

labelarguments参数Drive:

PathFileName指定要调用的批处理程序的位置和名称。

filename参数必须具有.bat或.cmd扩展名。

7.start命令调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。

入侵常用参数:

MIN开始时窗口最小化SEPARATE在分开的空间开始16位Windows程序HIGH在HIGH优先级类别开始应用程序REALTIME在REALTIME优先级类别开始应用程序WAIT启动应用程序并等候它结束parameters这些为传送到命令/程序的参数执行的应用程序是32-位GUI应用程序时,CMD.EXE不等应用程序终止就返回命令提示。

如果在命令脚本执行,该新行为则不会发生。

8.choice命令choice使用此命令可以让用户输入一个字符,从而运行不同的命令。

使用时应该加/c:

参数,c:

后应写提示可输入的字符,之间无空格。

它的返回码为1234如:

choice/c:

dmedefrag,mem,end将显示defrag,mem,endD,M,E?

Sample:

Sample.bat的容如下:

echooffchoice/c:

dmedefrag,mem,endiferrorlevel3gotodefrag(应先判断数值最高的错误码)iferrorlevel2gotomemiferrotlevel1gotoend:

defragc:

dosdefraggotoend:

memmemgotoend:

endechogoodbye此文件运行后,将显示defrag,mem,endD,M,E?

用户可选择dme,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以gotoend将程序跳到end标号处,然后程序将显示goodbye,文件结束。

9.If命令if表示将判断是否符合规定的条件,从而决定执行不同的命令。

有三种格式:

1、if参数=字符串待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。

(注意是两个等号)如if%1=aformata:

if%1=gotonoparmsif%2=gotonoparms2、ifexist文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如ifexistconfig.syseditconfig.sys3、iferrorlevel/ifnoterrorlevel数字待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。

如iferrorlevel2gotox2DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

10.for命令for命令是一个比较复杂的命令,主要用于参数在指定的围循环执行命令。

在批处理文件中使用FOR命令时,指定变量请使用%variablefor%variable|%variablein(set)docommandCommandLineOptions%variable指定一个单一字母可替换的参数。

(set)指定一个或一组文件。

可以使用通配符。

command指定对每个文件执行的命令。

command-parameters为特定命令指定参数或命令行开关。

在批处理文件中使用FOR命令时,指定变量请使用%variable而不要用%variable。

变量名称是区分大小写的,所以%i不同于%I如果命令扩展名被启用,下列额外的FOR命令格式会受到支持:

FOR/D%variableIN(set)DOcommandcommand-parameters如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

FOR/Rdrive:

path%variableIN(set)DOcommandcommand-检查以drive:

path为根的目录树,指向每个目录中的FOR语句。

如果在/R后没有指定目录,则使用当前目录。

如果集仅为一个单点(.)字符,则枚举该目录树。

FOR/L%variableIN(start,step,end)DOcommandcommand-para该集表示以增量形式从开始到结束的一个数字序列。

因此,(1,1,5)将产生序列12345,(5,-1,1)将产生序列(54321)。

FOR/Foptions%variableIN(file-set)DOcommandFOR/Foptions%variableIN(string)DOcommandFOR/Foptions%variableIN(command)DOcommand或者,如果有usebackq选项:

FOR/Foptions%variableIN(file-set)DOcommandFOR/Foptions%variableIN(string)DOcommandFOR/Foptions%variableIN(command)DOcommandfilenameset为一个或多个文件名。

继续到filenameset中的下一个文件之前,每份文件都已被打开、读取并经过处理。

处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。

然后用已找到的符号字符串变量值调用For循环。

以默认方式,/F通过每个文件的每一行中分开的第一个空白符号。

跳过空白行。

您可通过指定可选options参数替代默认解析操作。

这个带引号的字符串包括一个或多个指定不同解析选项的关键字。

这些关键字为:

eol=c-指一个行注释字符的结尾(就一个)skip=n-指在文件开始时忽略的行数。

delims=xxx-指分隔符集。

这个替换了空格和跳格键的默认分隔符集。

tokens=x,y,m-n-指每行的哪一个符号被传递到每个迭代的for本身。

这会导致额外变量名称的格式为一个围。

通过nth符号指定m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。

usebackq-指定新语法已在下类情况中使用:

在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在fi中使用双引号扩起文件名称。

sample1:

FOR/Feol=;tokens=2,3*delims=,%iin(myfile.txt)docommand会分析myfile.txt中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。

请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。

对于带有空格的文件名,您需要用双引号将文件名括起来。

为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。

%i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的。

您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母z或Z的变量。

请记住,FOR变量是单一字母、分大小写和全局的;同时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1