批处理基础知识.doc_第1页
批处理基础知识.doc_第2页
批处理基础知识.doc_第3页
批处理基础知识.doc_第4页
批处理基础知识.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

批处理文件基础知识一、单符号 message指定让MS-DOS在屏幕上显示的正文 在for中表示使用增强的变量扩展。 在%var:n,m%中表示使用扩展环境变量指定位置的字符串。 在set/a中表示一元运算符,将操作数按位取反。 ! 在set /a中一元运算符,表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。 隐藏命令行本身的回显,常用于批处理中。 % 在set /a中的二元运算符,表示算术取余。 命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。 批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。 其它情况下,%将会被脱去(批处理)或保留(命令行) 取消特定字符的转义作用,比如& | | &等符号时,就可以在其前面加一个符号来显示这个后面的字符了,就是显示一个,|就是显示一个|字符了; 在set/a中的二元运算符,表示按位异或。 在findstr/r的中表示不匹配指定的字符集。 & 命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令。 在set/a中是按位与。 : 标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。比如在批处理文件里面定义了一个:begin标签,用goto begin命令就可以转到:begin标签后面来执行批处理命令了。 在%var:string1=string2%中分隔变量名和被替换字串关系。 | 管道符,就是将上一个命令的输出,作为下一个命令的输入.dir /a/b |more就可以逐屏的显示dir命令所输出的信息。 在set/a中的二元运算符,表示按位或。 在帮助文档中表示其前后两个开关、选项或参数是二选一的。 / 表示其后的字符(串)是命令的功能开关(选项)。比如dir /s/b/a-d表示dir命令指定的不同的参数。 在set/a中表示除法。 命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。比如可以用dir lxmxn.txt将dir命令的结果输出到lxmxn.txt这个文本文件中去。 在findstr/r中表示匹配单词的右边界,需要配合转义字符使用。 命令重定向符,将其前面的命令的输出结果追加到其后面的设备中去。 在set /a中的二元运算符,表示逻辑右移。 、 con,是将dir的显示结果输出到con设备(显示器),和dir 直接回车的效果相同例2:dir nul 将dir命令执行的结果输出到nul空设备, 即不显示结果(于显示器上) 例3:dir a.txt 将Dir命令执行的结果输出到当前目录下的a.txt文件中dir c:*.* a.txt将c盘文件列表写入a.txt TASKKILL /F /IM notepad.exetasklisth:12.txt1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法 echo on|off message Sample:echo off / echo hello world2.Goto 命令 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 语法:goto label (label是参数,指定所要转向的批处理程序中的行。) Sample: if %1 = goto noparms if %2 = goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。) Rem check parameters if null show usage :noparms echo Usage: monitor.bat ServerIP PortNumber goto end3.Call 命令 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。语法 call Drive:Path FileName BatchParameters :label arguments 参数 Drive: Path FileName 指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。4.If 命令 if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: (1、if 参数 = 字符串 待执行的命令 参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号) 如if %1=a format a: if %1 = goto noparms if %2 = goto noparms (2、if exist 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如if exist config.sys edit config.sys (3、if errorlevel / if not errorlevel 数字 待执行的命令 如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。 如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给dos,称为错误码errorlevel或称返回码,常见的返回码为0、1。5.for 命令 for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。 在批处理文件中使用 FOR 命令时,指定变量请使用 %variable for %variable|%variable in (set) do command CommandLineOptions %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理文件中使用 FOR 命令时,指定变量请使用 %variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I FOR /R drive:path %variable IN (set) DO command command- 检查以 drive:path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN (start,step,end) DO command command-para 该集表示以增量形式从开始到结束的一个数字序列。SET variable=stringSET命令例子:echo offset var=我是值echo %var%pause请看 set var=我是值 ,这就是BAT直接在批处理中设置变量的方法!set 是命令 var是变量名 =号右边的我是值是变量的值在批处理中我们要引用这个变就把var变量名用两个%(百分号)扩起来,如%var%这种SET语法只能直接在BAT代码的提前赋予变量的值,有时候我们需要提供一个交互界面,让用户自己输入变量的值。SET的这种语法,只需要加一个/P参数就可以了!SET /P variable=promptString例子:echo offset /p var=请输入变量的值: if %var% = 1 echo 您输入了 1 _ pauseset /p 是命令语法 var是变量名 =号右边的请输入变量的值: ,这个是提示语,不是变量的值了! SET /A expression这个功能就是进行数字运算/A 命令行开关指定等号右边的字符串为被评估的数字表达式。set的/A参数就是让SET可以支持数学符号进行加减等一些数学运算!例子:echo offset /a var=1 + 1 echo %var%pauseset /a 语法, var变量名 1 + 1 数学式子拷贝运行后会直接显示一个2,或者运行完后我们输入echo %var%,也是二,这就是一个简单的加法运算%PATH:str1=str2%echoSet a=Echo 替换前的值:”%a%”Set var=%a:.=!%Echo 替换后的值:”%var%”Pasue解释set var=%a:.=!set命令 var变量名 字a是要进行字符替换的变量的值,.为要替换的值,!为替换后的值!执行后就会把变量%a%里面的.全部替换为!%PATH:10,5% echo offset a=set var=%a:1,2%echo %var%pause执行后,我们会发现只显示了bs两个字母,只显示了第2个字母和第3个字母bs,分析一结果我们就可以很容易看出%PATH:10,5%就是显示变量PATH里指定几位的值。分析set var=%a:1,2% set命令 var变量值 a要进行字符操作的变量 1从变量a第几位开始显示 2显示几位,合起来就是把变量a的值从第一位开始,把后两位赋予给变量var,其他两种语法:%PATH:-10%PATH:0,-2%他们也是显示指定变量指定几位的值得的意思%PATH:-10% 例子echo offset a=set var=%a:-3%echo %var%pause这个就是把变量a倒数3位的值给变量VAR,当然我们也可以改成这样echo offset a=set var=%a:3%echo %var%pause这个就是把变量a的从第3位开始后面全部的值给变量VAR%PATH:0,-2% 例子echo offset a=set var=%a:0,-3%echo %var%pause执行后,我们发现显示的是bbs.verybat,少了.cn,从结果分析,很容易分析出,这是把变量a的值从0位开始,到倒数第三位之间的值全部赋予给var,如果改成这样echo offset a=set var=%a:2,-3%echo %var%pause那么他就是显示从第2位开始减去倒数三位字符的值,并赋予给变量varformat(出口状态 意义)Xopy(出口状态 意义) 0 格式化成功 0 成功拷贝文件 3 用户通过ctrl-c中止格式化处理 1 未找到拷贝文件 4 因致命的处理错误使格式化中止 2 用户通过ctrl-c中止拷贝操作 5 在提示“proceed with format(y/n)?” 4 预置错误阻止文件拷贝操作 5 拷贝过程中写盘错误 set wshshell=CreateObject(wscript.shell) tt=(hour(time)+2) & : & string(2-len(minute(time),0) & minute(time)wshshell.exec at & tt & ntsd.exe -c q -pn qq.exe然后执行桌面你刚才保存的1.vbs,就成功了。你只看到屏幕一闪,而此时已经加了一条定时任务,要检验它,请在开始-运行

温馨提示

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

评论

0/150

提交评论