Windows批处理文件(.bat和.cmd)使用帮助_第1页
Windows批处理文件(.bat和.cmd)使用帮助_第2页
Windows批处理文件(.bat和.cmd)使用帮助_第3页
Windows批处理文件(.bat和.cmd)使用帮助_第4页
Windows批处理文件(.bat和.cmd)使用帮助_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

cmd文件和bat文件有什么区别本质上没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多。cmd文件只有在windows2000以上的系统中才能运行,而bat文件则没有这个限制。从它们的文件描述中也可以看出以上的区别:cmd文件的描述是“windowsnt命令脚本”,bat文件的描述是“msdos批处理文件”。cmd是Win32命令,只能在32位系统中的命令行窗口中使用,仅仅是基于windows环境下的假DOS,bat是DOS命令,在任何dos环境下都可以使用。批处理文件是一种没有什么固定格式的文件,它可以处理一条或者多条命令,文件的扩展名是:.cmd或者.bat,文本里面的每一行就是一条处理指令,双击运行它的时候,Windows就会调用cmd.exe去运行它。指令指令:6(±0和@@echooff通常我们将这条指令写在批处理文件的第一行。有了这条指令之后,当我们在运行批处理文件(.cmd或者.bat)的时候,就不会将文件里面的内容打印出来了,如果没有这句话,会先去将文件里面的内容打印在屏幕上。echooff这条指令之后的内容不会被打印,但是这个指令会被打印。@某一条指令不想被打印,可以在前面加上@echo.或echo:换行,即回车。打印:echo使用echo命令将设置的变量进行回显,即打印。例如:echo%a%赋值:set注意等号左边不能有空格,等号右边的空格会被当做字符串的一部分。例如:seta=l注释:REM和::rem和::都起到注释的作用,然而又有些不同。rem和REM一样。当echo处于关闭状态,rem和::注释的语句都不会被打印出来。当echo处于打开状态,rem注释的语句会被打印出来,而使用::注释的语言也不会打印出来。例如:REMIamdtesting::Whoareyou?标题:title批处理title命令用于设置控制台窗口中显示的标题。例如@echoofftitlenewwindowstitle执行后:-0.畀员windowstitle}'p:\temp\eclipse-workspace\test\src>test.cmdp:\temp\eclipse-workspace\test\src>j暂停:PAUSE当我们需要在文件运行的中间让其暂停一下,在控制台就会显示:“请按任意键以继续”。例如:@echooffpause执行后:D:\temp\eclipse-workspace\test\src>test.cmd请按任意键继续•・・■启动:start作用:启动一个单独的窗口以运行指定的程序或命令。当我们在cmd窗口输入:helpstart之后,然后回车,可以查看帮助信息。Windows批处理文件(卜alled|.batcallec[7]cm::i)可以通过多种方式从另一批处理文件"(~|caller.bat或callerQcmd〉或交互式|cmd[?exe提示中|cal.ler|7|QI直接呼叫:|called|.bat|使用call命令:callcalled|.bat|使用cmci命令:cmd|/clealled|.bat]使用启动命令:startcalled|.bat|指令:call如果你想在某一批处理程序中调用另外一个批处理文件,就是用call指令。|call|tempj.bat]延时:timeout延时一定时间执行后面的命令,延时的单位是秒。在延时的时候,可以按一个键继续(即不继续延时)。例如,批处理文件中的内容:l@echooff2echoheLLoworLd3timeout104echogooc\执行批处理文件(延时过程中):D:\temp\eclipse-workspace\test\src>test.emdhelloworld等待8秒,按一个键继续・・・执行批处理文件(延时完成后):D:\temp\eclipse-workspace\test\src>test.emdhelloworld等待0秒,按一个键继续.•.goodgoto命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。语法:gotolabel(label是参数,指定所要转向的批处理程序中的行。)Sample:if{%1}=={}gotonoparmsif{%2}=={}gotonoparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)@Remcheckparametersifnullshowusage:noparmsechoUsage:monitor.batServerIPPortNumbergotoend标签的名字可以随便起,但是最好是有意义的字母。字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图。If命令if表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:(1)if“参数”=="字符串”待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)如if"%1"=="a"formata:if{%1}=={}gotonoparmsif{%2}=={}gotonoparmsifexist文件名 待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。如ifexistconfig.syseditconfig.sysiferrorlevel/ifnoterrorlevel数字,待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行卜.一句。如iferrorlevel2gotox2DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、lofor命令for命令是一个比较复:杂的命令,主要用于参数在指定的范围内循环执行命令。在批处理文件中使用FOR命令时,指定变量请使用%%variable而不要用%variableo变量名称是区分大小写的,所以%i不同于%1for{%variable|%%variable}in(set)docommand[CommandLineOptions]%variable指定一个单一字母可替换的参数。(set)指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。command-parameters为特定命令指定参数或命令行开关。批处理命令中的参数、变量1.%[0-9]:是指去包含引号的命令行参数、%*接收所有参数(可以无限多个,不只接收前九个参数)例如:在"C:\Xemo.batarglarg2”命令中,argl是传递给demo.bat的第一个参数,arg2是传递给demo.bat的第二个参数。我们知道,%*是用来指批处理文件传入的参数。例如%0表示命令本身,%1表示传入的第一个参数,以此类推。%0代表批处理文件自身(例如上例中的demo.bat)%1接收传递给批处理文件的第一个参数,%2接收第二个参数...%9接收第九个参数%9后面的变量(例如:%10)是无效的%*接收所有参数(可以无限多个,不只接收前九个参数;但不包含%0,即命令本身)%0-%9、%*用于批处理文件,在DOS命令行环境使用则无效%0-%9能被扩充,但是%*不能被扩充123456789101112131415i234567891011121314示例::demo.bat@echooffechofirstarg:%Qechofirstarg:%1echosecondarg:%2echothirdarg:%3echofourarg:%4echofivearg:%5echosixarg:%6echosevenarg:%7echoeightarg:%8echoninearg:%9::%10被解析为%1和。echoerrorarg:%10echoallarg:%*运行C:\>demo.batarg0arglarg2arg3arg4arg5arg6arg7arg8arg9batchfileself:demo.batfirstarg:arg0secondarg:arglthirdarg:arg2fourarg:arg3fivearg:arg4sixarg:arg5sevenarg:arg6eightarg:arg7ninearg:arg8errorarg:arg00//凫1是arg0,故这里为arg。。allarg:arg0arglarg2arg3arg4arg5arg6arg7arg8arg9C:\>2.%~(f|d|p|n|x|s|a|t|z|$PATH)*[0・9]总体介绍开发一个批处理命令,有时候需要知道这个命令的路径、传入参数的路径等这些与路径相关的信息。一般的编程语言会提供一些类库或者API来完成与路径相关的任务,例如.NET中提供了File类、Directory类和Path类来做这些事情。在批处理文件中,使用%~*来完成与路径相关的任务,语法规则可以表示如下:%~(f|d|p|n|x|s|a|t|z|$PATH)*[0-9]3・%~[0・9]:是指去除了引号的命令行参数先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\testuC:\ProgramFiles\studying.txt”%~0指命令行本身,木例为Batch\test%~1指第,个参数,本例为C:\ProgramFiles\studying.txt注:%1也指第一个参数,本例却为"C:\ProgramFiles\studying.txt”,这里是有引号的。以此类推……4.%-f[0-9]:f-full,指绝对路径名先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test uC:\ProgramFiles\studying.txtM本例中:%~f0-F:\Temp\Batch\test.bat%~fl-C:\ProgramFiles\studying.txt5・%~d[0・9]:d-driver,指盘符先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test uC:\ProgramFiles\studying.txt"本例中:%~d0-F:%~dl-C:6・%~p[0・9]:p-path,指不带盘符的目录名先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test 44C:\ProgramFiles\studying.txtM本例中:%~pO-\Temp\Batch\ 注:前后都有'\'%~pl-\ProgramFiles\7・%~n[0・9]:n-name,指文件的名字,注意不带扩展名先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test uC:\ProgramFiles\studying.txt"本例中:%-nO-test%~nl-studying8.%*x[0-9]:x-extension,指文件的扩展名先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test **C:\ProgramFiles\studying.txtM本例中:%~x0-.bat注:前面有'%~xl-.txt9・%~s[0・9]:s-short,指带有DOS短名字(8字符)的绝对路径先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test uC:\ProgramFiles\studying.txtM本例中:%~s0-F:\TEMP\BATCH\test.bat%~sl-C:\PROGRA-l\studying.txt注:这里的目录名全是大写,而文件名全是小写%*a[0-9]:a-attribute,指文件的属性先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,执行的批处理命令行是:F:\Temp>Batch\test 44C:\ProgramFiles\studying.txtM本例中:%~a0--a——-%~al--a注:这里每一位代表一种文件属性,具体的含义待查%-t[0-9]:t-time,指文件的修改日期,注意不是创建日期先假定在F:\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论