还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
WINDOWS批处理命令批处理文件将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为bat这里我们简要介绍一下,批处理文件时顺序执行的,其编辑器就是文本编辑器,保存时只要把扩展名由txt改成bat就可以了
一、批处理中的变量在批处理中适当的引用变量将会使你所编制的程序应用面更广批处理每次能处理的变量从%0~%9共10个其中%0默认给批处理的文件名使用除非在使用SHIFT命令后%0才能被%1所替代引用shift命令的例子如果把%1前面多加上一个%0那么结果如下C\SHIFT.BAT1234567891011SHIFT.BAT12345678912345678910234567891011系统是如何区分每个变量的呢,系统区分变量的规则为字符串中间的空格,即只要发现空格就把空格前面的字符当作一个变量而空格后面的字符则作为另一个变量如果你的变量是一个当中包含空格的长目录名这时候你需要用上一节特殊符号8中所用的引号将他圈起来例ECHO%1ECHO%2ECHO%3输入命令C\TESTProgram FilesProgram Files ProgramFiles ProgramFiles在一个复杂的批处理中又可能同时使用的变量会超过10个这时候会和系统的规则想冲突那么这个问题怎么解决呢在系统中还有一种变量称之为环境变量使用SET命令可以查看当前系统的环境变量如当前系统目录是%windir%或%SystemRoot%等当同时使用的参数超过10个的时候,我们可以把某些在后面的程序中还要调用的变量保存为环境变量具体用法如SET A=%1这样我们就命名了一个新的环境变量A在调用变量A的时候要%A%这样调用,环境变量不受SHIFT命令影响如果要改变一个环境变量需要重新对其设置才能改变当然也可以进行变量与变量之间的传递来达到目的下面我们来看一个例子,批处理如下ECHO OFFSET PASS=%1SHIFT SET PASS1=%1SHIFT ECHO%PASS%%PASS1%%1%2%3%4%5%6%7%8%9SHIFT ECHO%PASS%%PASS1%%9SET PASS=%PASS1%变量的传递SETPASS1=%9SHIFT ECHO%PASS%%PASS1%%9使用命令C\TEST AB345678910KL AB345678910K注意这一行显示了11个变量A BL在使用了3次SHIFT之后%9变成了L BL变量的传递后的结果
二、特殊的符号与批处理在命令行下有些符号是不允许使用的但有些符号却有着特殊的意义
1、符号@批处理中的意思是关闭当前行的回显注用命令echo off可以关掉整个批处理的命令回显但却不能不显示echo off这个命令现在我们在这个命令前加上@这样echo off这一命令就被@关闭了回显从而达到所有命令均不回显得要求
2、符号传递并覆盖他所起的作用是将运行后的回显结果传递到后面的范围后面可是文件也可是默认的系统控制台例文件
1.txt的文件内容为1+1使用命令c\dir*.txt
1.txt这时候
1.txt的内容如下驱动器C中的卷没有标签卷的序列号是301A-1508C\的目录2003-03-1114041,005FRUNLOG.TXT2003-04-04163818,598,494log.txt2003-04-
04170251.txt3个文件18,630,070字节0个目录1,191,542,784可用字节将命令执行的结果覆盖了原始的文件内容在传递给控制台的时候程序将不会有任何回显注意这里的回显跟echo off关掉的回显不是同一概念Echo off关掉的是输入命令的回显,这里的回显是程序执行中或后的回显例C\dir*.txt nul程序将没有任何显示也不会产生任何痕迹
3、符号符号的作用与符号相似,但他们的区别在于是传递并在文件末尾追加也可将回显传递给控制台用法同上、例文件
1.txt内同为1+1使用命令c\dir*.txt
1.txt这时候
1.txt的内容如下1+1驱动器C中的卷没有标签卷的序列号是301A-1508C\的目录2003-03-1114041,005FRUNLOG.TXT2003-04-04163818,598,494log.txt2003-04-
04170251.txt2003-03-1211430aierrorlog.txt2003-03-30003530,
571202.
108.txt5个文件18,630,070字节0个目录1,191,542,784可用字节将命令执行的结果覆加在了原始的文件内容后面
4、符号|是一个管道传输命令意思是将上一命令执行的结果传递给下一命令去处理例C\dir c\|find1508卷的序列号是301A-1508以上命令的意思为查找c\的所有并发现1508字符串Find的用法请用find/自行查看在不使用format的自动格式化参数的时候我是这样来自动格式化盘片的echo y|fornat a/s/q/v system用过format命令的人都知道format有一个交互对化过程,要使用者输入y来确定当前的命令是否被执行在这个命令前加上echo y并用管道传输符|将echo执行的结果y传递给format从而达到手工输入y的目的这条命令有危害性,测试的时候请谨慎
5、符号^是对特殊符号、、、的前导字符在命令中他将以上的3个符号的特殊动能去掉仅仅只吧他们当成符号而不使用他们的特殊意义例c\echo test^
1.txt test
1.txt从上面可以看出并没有把test写入文件
1.txt而是将test
1.txt当字符串显示了出来这个符号在远程构建批处理的时候很有效果
6、符号符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败将不影响第2个命令的执行例c\dir z\dir y\dir c\该命令将会连续显示z yc盘内的内容不理会该盘符是否存在
7、符号符号也是允许在一行中使用2个以上不同的命令,当第一个命令执行失败后后续的命令将不会再被执行例c\dir z\dir y\dir c\该命令将会提示检查是否存在z盘如果存在则执行,如果不存在则停止执行所有的后续命令
8、符号符号允许在字符串中包含空格进入一个特殊的目录可以用如下方法例c\cdProgram Filesc\cd progra~1c\cd pro*以上方法都可以进入ProgramFiles目录
9、符号,符号相当于空格在某些特殊的情况下可以用,来代替空格使用例c\dir,c\
10、符号;符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变如执行过程中发生错误则只返回错误报告但程序还是会继续执行例DIR C\;D\;E\F\以上的命令相当于DIR C\DIR D\DIR E\DIR F\
三、批处理的命令
1.REM解释命令一般是给程序语句添加注释的,该命令后的内容在程序执行时不作显示与执行
2.ECHO回显命令主要参数有ON和OFF,一般用ECHO后跟显示的消息
3.GOTO转移命令在批处理中以XXX来构建一个标号,然后用GOTOXXX跳跃到该标号,执行标号后的命令
4.CALL调用命令可以在执行批处理中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理
5.PAUSE停止命令暂停批处理并显示该命令下面的内容
6.SHIFT可以让在命令上的的命令使用超过10个%0~%9例ECHO OFFECHO%1%2%3%4%5%6%7%8%9SHIFT ECHO%1%2%3%4%5%6%7%8%9SHIFT ECHO%1%2%3%4%5%6%7%8%9执行结果如下C\SHIFT.BAT
12345678910111234567892345678910345678910117、SETLOCAL开始批处理文件中环境改动的本地化操作在执行SETLOCAL之后所做的环境改动只限于批处理文件要还原原先的设置,必须执行ENDLOCAL达到批处理文件结尾时,对于该批处理文件的每个尚未执行的SETLOCAL命令,都会有一个隐含的ENDLOCAL被执行例@ECHO OFFSET PATH/*察看环境变量PATH PAUSESETLOCAL SETPATH=E\TOOLS/*重新设置环境变量PATH SETPATH PAUSEENDLOCAL SETPATH从上例我们可以看到环境变量PATH第1次被显示得时候是系统默认路径被设置成了E\TOOLS后显示为E\TOOLS但当ENDLOCAL后我们可以看到他又被还原成了系统的默认路径但这个设置只在该批处理运行的时候有作用当批处理运行完成后环境变量PATH将会还原
8.IF判断语句语法格式IF[NOT]ERRORLEVEL numbercommand IF[NOT]string1==string2command IF[NOT]EXIST filenamecommand说明[NOT]将返回的结果取反值,即如果没有的意思ERRORLEVEL表示命令执行完成后的推出值number退出值,取值范围0~255判断该值的顺序由大到小,返回的值大于或等于指定值时条件成立string1==string2其中string1和string2都为字符数据,注意英文字符的大小写不同条件中的等号必须是==,表示绝对相等EXIST filename表示文件不或目录存在的意思注意IF ERRORLEVEL这条语句必须放在某一个命令后面执行命令后由IF ERRORLEVEL来判断命令的返回值条件判断语句也就意味着条件转移,所以这里大家需要留心一下这里引用几个例子,大家看了之后就应该明白了
1、IF[NOT]ERRORLEVEL numbercommand
2、IF string1==string2command
3、IF[NOT]EXIST filenamecommand检测命令执行完后的返回值做出判断检测当前变量的值做出判断发现特定的文件做出判断echo offecho offECHO OFFdir zIF%1==2goto noIF notEXIST autoexec.bat goto1rem如果退出代码为1不成功就跳至标题1处执行ECHO变量相等echo文件存在成功!IF ERRORLEVEL1goto1GOTO EXITgoto exitrem如果退出代码为0成功就跳至标题0处执行no1IF ERRORLEVEL0goto0ECHO变量不相等echo文件存在失败!0goto exitgoto exitecho命令执行成功!exit exitRem程序执行完毕跳至标题exit处退出goto exit1echo命令执行失败!Rem程序执行完毕跳至标题exit处退出goto exitexit
9、FOR循环执行命令,同时FOR的循环里面还可以套用FOR在进行循环在批处理中FOR的命令如下FOR[%c]INsetDO[command][arguments]常用参数/L该集表示以增量形式从开始到结束的一个数字序列因此,1,1,5将产生序列12345,5,-1,1将产生序列54321/D如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配/F从指定的文件中读取数据作为变量eol=c-指一个行注释字符的结尾就一个skip=n-指在文件开始时忽略的行数delims=xxx-指分隔符集这个替换了空格和跳格键的默认分隔符集tokens=x,y,m-n-指每行的哪一个符号被传递到每个迭代的for本身这会导致额外变量名称的分配m-n格式为一个范围通过nth符号指定mth如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本usebackq-指定新语法已在下类情况中使用在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在filenameset中使用双引号扩起文件名称下面来看一个例子FOR/Feol=;tokens=2,3*delims=,%i inmyfile.txtdo@echo%i%j%k会分析myfile.txt中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号对于带有空格的文件名,您需要用双引号将文件名括起来为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的%i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母\z\或\Z\的变量请记住,FOR变量名分大小写,是通用的;而且,同时不能有52个以上都在使用中您还可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单引号将括号之间的filenameset括起来这样,该字符串会被当作一个文件中的一个单一输入行最后,您可以用FOR/F命令来分析命令的输出方法是,将括号之间的filenameset变成一个反括字符串该字符串会被当作命令行,传递到一个子CMD.EXE,其输出会被抓进内存,并被当作文件分析因此,以下例子FOR/Fusebackq delims==%i IN`set`DO@echo%i会枚举当前环境中的环境变量名称以下列举一个简单的例子,他将说明参数/L和没有参数的区别删除文件
1.TXT
2.TXT
3.TXT
4.TXT
5.TXT例ECHO OFFFOR/L%%F IN1,1,5DO DEL%%F.TXT或FOR%%F IN1,2,3,4,5DO DEL%%F.TXT以上2条命令执行的结果都是一样的如下C\DEL
1.TXT C\DEL
2.TXT C\DEL
3.TXT C\DEL
4.TXT C\DEL
5.TXT
四、批处理命令集Assoc---显示或修改文件扩展名关联at---计划在计算机上运行的命令和程序attrib---显示或更改文件属性设置文件属性BREAK--设置或清除扩展式CTRL+C检查CAcls---显示或修改文件的访问控制列表ACLsCall--从另一个批处理程序调用这一个cd---显示当前目录的名称或将其更改变当前目录chdir---显示当前目录的名称或将其更改chCP---显示或设置活动代码页数chkDsk---检查磁盘并显示状态报告CHKNTFS---显示或修改启动时间磁盘检查Cls---清除屏幕Cmd--打开另一个Windows命令解释程序窗口COLOR---设置默认控制台前景和背景颜色COMP--比较两个或两套文件的内容ComPact-显示或更改NTFS分区上文件的压缩CONVERT--将FAT卷转换成NTFS不能转换当前驱动器DATE-显示或设置修改日期Copy---将至少一个文件复制到另一个位置del---删除至少一个文件ir---显示一个目录中的文件和子目录列文件名diskCOMP---比较两个软盘的内容diskCOPY---将一个软盘的内容复制到另一个软盘复制磁盘debug---随机调试程序dosKey---编辑命令行调用Windows命令并创建宏重新调用DOS命令defrag---磁盘碎片整理deltree---删除目录树ECho---显示消息,或将命令回显打开或关上EndLocaL---结束批文件中环境更改的本地化Erase---删除至少一个文件Exit--退出CMD.EXE程序,退出当前命令解释程序并返回到系统edit---文本编辑FC--比较两个或两套文件,并显示不同处Find---在文件中搜索文字字符串FindStr---在文件中搜索字符串For---为一套文件中的每个文件运行一个指定的命令Format---格式化磁盘,以便跟Windows使用Ftype---显示或修改用于文件扩展名关联的文件类型Fdisk---硬盘分区GOTO---将Windows命令解释程序指向批处理程序中某个标明的行GraftabL---启用Windows来以图像模式显示IF---执行批处理程序中的条件性处理LAbel---创建、更改或删除磁盘的卷标、设置卷标号MD---创建目录建立子目录Mkdir---创建目录Mode---配置系统设备More---一次显示一个结果屏幕分屏显示Move---将文件从一个目录移到另一个目录移动文件、改目录名msd---系统检测memmaker---内存优化管理mem---查看内存状况PAth---显示或设置可执行文件的搜索路径、设置搜寻目录Pause---暂停批文件的处理并显示消息Popd---还原PUshd保存的当前目录的上一个值Print---打印文本文件ProMpt---更改Windows命令提示符PuShd---保存当前目录,然后对其进行更改prempt---设置提示符RD---删除目录ReCover---从有问题的磁盘恢复可读信息Rem---记录批文件或CONFIG.SYS中的注释Ren---重命名文件ReName---重命名文件RePLace---替换文件RmDir---删除目录restore---恢复备份文件SET--显示、设置或删除Windows环境变量SetLocal---开始批文件中环境更改的本地化Shift---更换批文件中可替换参数的位置Sort---对输入进行分类Start---启动另一个窗口来运行指定的程序或命令SubSt---将路径跟一个驱动器号关联scandisk---检测、修理磁盘sys---制作DOS系统盘TIME--显示或设置修改系统时间TitLe---设置CMD.EXE会话的窗口标题Tree---以图形模式显示驱动器或路径的目录结构列目录树Type----显示文本文件的内容显示文件内容VEr---显示Windows版本Verify--告诉Windows是否验证文件是否已正确写入磁盘VoL---显示磁盘卷标和序列号XCOPY---复制文件和目录树拷贝目录与文件UNdelete---恢复被删的文件附录网络命令finger--查看对方最近有那些用户登陆用来得到对方的用户名telnet--远程登陆服务器ftp--用于上传文件至服务器或进行文件操作route在本地IP路由表中显示和修改条目网络命令arp查看和处理ARP缓存offline-将当前模式设置成脱机netsh查看或更改本地网络配置情况netstat用于显示与ip、tcp、udp和icmp协议相关的统计数据或者检验本机各端口的网络连接情况pathping--提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息IPConfig用于显示当前的TCP/IP配置的设置值ping用于确定本地主机是否能与另一台主机交换发送与接收数据报Tracert--是路由跟踪实用程序,用于确定IP数据报访问目标所采取的路径net---管理网络环境、服务、用户、登陆netsh---网络配置命令行工具附录WINDOWS运行命令winver---检查Windows版本wmimgmt.msc--打开windows管理体系结构WMIwupdmgr--windows更新程序序wscript--windows脚本宿主设置write--写字板winmsd---系统信息wiaacmgr---扫描仪和照相机向导winchat--XP自带局域网聊天mem.exe--显示内存使用情况Msconfig.exe---系统配置实用程序mplayer2---简易widnows mediaplayer mspaint--画图板mstsc--远程桌面连接mplayer2---媒体播放机magnify--放大镜实用程序mmc--打开控制台mobsync--同步命令dxdiag---检查DirectX信息drwtsn32--系统医生devmgmt.msc---设备管理器dfrg.msc---磁盘碎片整理程序diskmgmt.msc---磁盘管理实用程序dcomcnfg---打开系统组件服务ddeshare---打开DDE共享设置dvdplay--DVD播放器secpol.msc---本地安全策略net stopmessenger---停止信使服务net startmessenger--开始信使服务notepad--打开记事本nslookup---网络管理的工具向导IP地址侦测器ntbackup---系统备份和还原narrator---屏幕讲述人ntmsmgr.msc--移动存储管理器ntmsoprq.msc---移动存储管理员操作请求netstat-an--TC命令检查接口syncapp--创建一个公文包sysedit--系统配置编辑器sigverif---文件签名验证程序sndrec32---录音机shrpubw--创建共享文件夹syskey---系统加密,一旦加密就不能解开,保护windows xp系统的双重密码services.msc---本地服务设置Sndvol32---音量控制程序sfc.exe--系统文件检查器sfc/scannow---windows文件保护tsshutdn---60秒倒计时关机命令tourstart--xp简介安装完成后出现的漫游xp程序taskmgr--任务管理器eventvwr---事件查看器eudcedit---造字程序explorer---打开资源管理器packager---对象包装程序perfmon.msc--计算机性能监测程序progman--程序管理器regedit.exe--注册表rsop.msc---组策略结果集regedt32---注册表编辑器rononce-p--15秒关机regsvr32/u*.dll--停止dll文件运行regsvr32/u zipfldr.dll--取消ZIP支持cmd.exe--CMD命令提示符chkdsk.exe---Chkdsk磁盘检查certmgr.msc--证书管理实用程序calc---启动计算器charmap--启动字符映射表cliconfg---SQL SERVER客户端网络实用程序Clipbrd--剪贴板查看器conf--启动netmeeting compmgmt.msc---计算机管理cleanmgr---垃圾整理ciadv.msc--索引服务程序osk--打开屏幕键盘odbcad32---ODBC数据源管理器oobe/msoobe/a--检查XP是否激活lusrmgr.msc--本机用户和组logoff---注销命令iexpress---木马捆绑工具,系统自带Nslookup---IP地址侦测器fsmgmt.msc---共享文件夹管理器utilman--辅助工具管理器gpedit.msc---组策略tlist-t以树行列表显示进程为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内kill-F进程名加-F参数后强制结束某进程为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内del-F文件名加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件例如DEL/AR*.*表示删除当前目录下所有只读文件,DEL/A-S*.*表示删除当前目录下除系统文件以外的所有文件特别声明1资料来源于互联网,版权归属原作者2资料内容属于网络意见,与本账号立场无关3如有侵权,请告知,立即删除。