




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前一阵子使用WIN7的时候,忽然出现图标缓存的问题。去网上搜了下解决方案,发现一个比较好的处理步骤。原文我已经忘记了,后来在年三十的晚上,顿觉很无聊,就按照印象中的代码,写了一个小的批处理文件。具体参考(此处插入百度文库的那篇文章地址)。后来觉得批处理挺好玩的,趁在家休息的这些日子,系统学习一下批处理的语法以及应用。批处理命令通俗的讲就是平时我们见到的那些".bat"为后缀的文件,它们可以不断的重读执行命令,实现windows的自动管理,可以将用户从重复、繁琐、复杂的管理任务中解放出来,事半功倍。Windows中常用的批处理程序应用范围主要是:文件/文件夹管理、系统启动与关
2、闭、个性化桌面环境、个性化IE、个性化资源管理器、系统优化、系统维护与管理、系统安全、网络管理与安全、组策略与MMC的应用和其他一些高级应用。一般而言,创建批处理文件最好的方式是使用记事本编辑保存文件。即在记事本中写代码,然后保存的时候以".bat"作为后缀即可。看一个例子,以初步接触批处理小程序。为演示方便,PC机选择目前最为大众化的Microsoft Windows XP 作为操作系统。(1)在windows下按【Win+R】键,在弹出的"运行"对话框中输入"notepad"(2) 在文本文件里输入(3) 保存批处理文件(4) 接
3、下来就是运行这个批处理文件。初学者编写的小程序推荐在DOS下面运行,等已经可以独立的编写稍微复杂程序的时候在找到这个批处理文件,然后直接打开就可以了。在windows下按【Win+R】键,在弹出的"运行"对话框中输入"cmd",并转到存储"Demo_1.bat"的目录下,这里就是指的是D盘。运行Demo_1.bat,就会出现下面的结果如果直接选择打开"Demo_1.bat",就会出现下面的界面 所以你会发现,这种直接打开的方式不仅操作简单,而且界面简洁,但是一开始最好从DOS下面运行比较好,究竟为什么,你会在开始的
4、几个小程序里体会到。在学习批处理程序语法的时候,有一种非常便利的方式。比如下面要讲的第一个语法,"echo"的使用,我们可以使用下面的方法来获取命令的格式以及用途。(1) 新建一个批处理文件,具体的内容如图所示。(2) 在DOS下运行,得到下面的结果这样我们就获得了echo命令的语法和用途。授人以鱼不如授之以渔,掌握这个方法之后,即使长时间没写批处理小程序,我们依旧能够在最短的时间里回忆起相关的语法以及命令。一些常用的命令有:echo、goto、pause、call、start、rem、if、set、setlocal、shift、for、通配符("*"、
5、"?")、管道符("|")、重定向符("<"、">"、">>")等等。在接下来的章节中,我将简单的介绍下这些命令的使用方法。echo命令语法及应用echo命令可用于在屏幕显示相关的文字信息,起到提示和说明的作用,还可用于控制批处理文件在执行的过程中是否回显(此处插入回显的定义)。DOS帮助里这么形容:显示信息,或将命令回显打开或关上。 ECHO ON | OFF ECHO message要显示当前回显设置,键入不带参数的 ECHO。如果是控制回显,那么则用到上一条的语法。
6、echo on表示回显打开,echo off表示回显关闭。示例如下:Demo_3.bat: /这是回显打开的情景。Code3:Result3:Demo_4.bat /这是回显关闭的情景Code4:Result4:通过对比,很显然的可以看出差别。回显关闭的时候,echo和pause所引起的命令都不会显示在结果中,反之则会显示。由此可以看出回显是指把命令显示在结果中。但是仔细对比会发现一个问题:"echo"命令可以控制批处理命令中其他命令是否回显,但却不能控制命令本身。从结果中可以看出,无论是否关闭命令回显功能,批处理中的"echo on/off"命令都会出
7、现在屏幕中。为了解决这个问题,我们继续看命令的使用。 命令语法及应用命令用于禁止当前执行的命令回显在屏幕上。""不受"echo"命令设置效果的影响,且命令本身不会显示在屏幕上。这个命令是一个非常简单的命令,在DOS帮助里是找不到的。命令格式: command参数说明:·command:要屏蔽回显的命令·当命令不加任何参数执行的时候,将不产生任何效果对于Demo_4做一些修改,得到以下结果Code5:Result5:对比Result5可以清晰的看到"D:/>echo off"已经不见了。echo与命令的主要区别
8、在于:命令只对当前命令行起作用,且不受echo命令设置影响;echo命令则影响设置之后的所有命令,一直到出现另一个echo命令改变回显的状态为止。pause命令的语法及应用pause命令用于暂停批处理的执行并给出提示信息,然后用户决定是继续执行还是中断执行。命令格式:pause参数说明:·此命令没有参数。当命令运行后,会中断执行的语句,并显示以下语句"请按任意键继续."。演示如下Demo_6.bat:Code6:Result6:当命令运行到pause处的时候会暂停执行,并给出了"请按任意键继续."的提示信息。按键盘上的任意键,即可继续执行后面的
9、命令,若按下Ctrl+C键,则可直接中断批处理的执行,返回到命令行的状态。goto命令的语法及应用goto是一个流程控制转向命令,用于控制批处理中的命令执行流程。先来看看DOS帮助下的解释:将 cmd.exe 导向到批处理程序中带标签的行。GOTO label label 指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。、 看一个示例:Code9:Result9:可以看出,当执行到goto语句时,直接跳过下面的echo语句,转到last处,并接着运行last之后的所有语句,一直到结束。标识符中不能含有逗号、冒号等,但可以使用空格。标识符的有效长度为最多8个字符,如果多于
10、8个字符则只识别前八个字符。call命令语法及应用call命令可以在批处理程序中调用另一个批处理程序,也可调用指定标号之后的所有命令。命令格式:CALL drive:pathfilename batch-parameters参数解释:batch-parameters 指定批处理程序所需的命令行信息。看一个示例:Code10:Result10:Call命令在使用标号时必须加上":"号,而goto语句中则不需要添加。此外,call命令转向标号并执行到文件结束时会返回到调用处并继续执行剩下的命令,而goto语句跳转后不再返回。if命令语法及应用if命令通过条件来决定批处理程序应该
11、如何执行。在编写复杂的批处理程序时,"if"是一个必不可少的命令。先来看看DOS帮助里面的描述:IF NOT ERRORLEVEL number commandIF NOT string1=string2 commandIF NOT EXIST filename command NOT 指定只有条件为 false 的情况下, Windows XP 才 应该执行该命令。 ERRORLEVEL number 如果最后运行的程序返回一个等于或大于 指定数字的退出编码,指定条件为 true。 string1=string2 如果指定的文字字符串匹配,指定条件为 true。 EXIS
12、T filename 如果指定的文件名存在,指定条件为 true。 command 如果符合条件,指定要执行的命令。如果指定的 条件为 FALSE,命令后可跟一个执行 ELSE 关键字后的命令的 ELSE 命令。ELSE 子句必须在 IF 之后出现在同一行上。例如: IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. )因为 del 命令需要用一个新行终止,以下子句不会有效:IF EXIST filename. del filename. ELSE echo filename. missing由于 ELSE 命
13、令必须与 IF 命令的尾端在同一行上,以下子句也不会有效: IF EXIST filename. del filename. ELSE echo filename. missing如果都放在同一行上,以下子句有效: IF EXIST filename. (del filename.) ELSE echo filename. missing其中,比较运算符可以是: EQU - 等于 NEQ - 不等于 LSS - 小于 LEQ - 小于或等于 GTR - 大于 GEQ - 大于或等于来看一个示例:Code11:Result11:如果这么写,那就会出现错误,至于原因在上面引述的DOS帮助里已经写得
14、很清楚了。Code12:Result12:若if命令中带有else子命令,else子命令一定要与if中的最后一个命令在一行,否则会出现错误。此外,当if或else后面跟有多条命令时,应该用小括号将其括起来。for命令语法及应用for命令是批处理中一个功能强大且相对复杂的命令,它可对一组不同的文件或数据进行循环处理。照旧,看看DOS帮助里面的内容:FOR %variable IN (set) DO command command-parameters %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。
15、command-parameters 为特定命令指定参数或命令行开关。在批处理文件中使用 FOR 命令时,指定变量请使用 %variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.下面,我们来看一个示例:Code13:Result13:在循环体中可对for后变量直接引用,这种引用与使用set命令定义的变量不同,for后的变量区分大小写。Shift语法及应用Shift命令用于更改批处理文件参数的方式,如指定起始处理参数的位置。SHIFT /n如果命令扩展名被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告命令从第 n 个参数开始移位;n 介于零和
16、八之间。例如: SHIFT /2会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。看一个示例:Code14:Result14:符号%0%9专用于批处理从命令行获得的参数,依次代表命令行的相应参数。rem命令语法及应用rem命令是一个注释命令,用于在批处理中加入相关的说明信息。这些说明信息可以帮助读者理解批处理的功能。命令格式:rem comment参数说明:·comment:指定要作为注释的任何字符串演示程序如下:Code7:Result7:可以看出注释的部分只有在代码中才可以看到,结果是不显示的。在使用rem命令的时候应该将回显状态关闭,否则会将r
17、em命令的整行信息输出到屏幕。start命令语法及应用Start命令用于重新启用一个新的命令行窗口,然后在新的窗口中执行指定的程序或命令。在DOS下面查看帮助信息:启动另一个窗口运行指定的程序或命令。START "title" /Dpath /I /MIN /MAX /SEPARATE | /SHARED /LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL /WAIT /B command/program parameters "title" 在窗口标题栏中显示的标题。 pat
18、h 起始目录 B 在不创建新窗口的情况下开始应用程序。 除非 启动 C 处理,否则该应用程序会忽略 C 处理; Break 是唯一可以中断该应用程序的方式 I 新环境是传递给 cmd.exe 的原始环境, 而不是当前环境 MIN 开始时窗口最小化 MAX 开始时窗口最大化 SEPARATE 在分开的空间内开始 16 位 Windows 程序 SHARED 在分共享的空间内开始 16 位 Windows 程序 LOW 在 IDLE 优先级类别开始应用程序 NORMAL 在 NORMAL 优先级类别开始应用程序 HIGH 在 HIGH 优先级类别开始应用程序 REALTIME 在 REALTIME
19、 优先级类别开始应用程序 ABOVENORMAL 在 ABOVENORMAL 优先级类别开始应用程序我们来看一个示例:Code8:Result8:这时候在第二个窗口中输入命令exit,则会正常返回到第一个窗口中。如果直接关闭第二个窗口,则会出现这种结果,可以看到第一个窗口中的信息没有显示完整,也就是说部分命令没有被执行,所以推荐用命令离开窗口以正常关闭,避免直接关闭,养成良好的习惯。set语法及应用set专门用来创建、设置、查看或者删除环境变量。对于一些功能复杂的批处理程序,自定义变量是不可缺少的。DOS帮助里关于set命令的描述:SET variable=string variable 指定
20、环境变量名。 string 指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的 SET。如果命令扩展名被启用,SET 会如下改变:可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配SET 命令已使用的名称的所有变量的值。例如: SET P会显示所有以字母 P 打头的变量如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL设置成 1。SET 命令不允许变量名含有等号。下面来看一个示例:Code15:Result15:所以,从例子中可以看出set命令就是给一个变量赋值,当使用set /a 命令的时候,表示赋得是可求值的数字表达式。另外,批处理文件中使用变量的时候,应该在变量名前后分别加上一个百分号,否则无法正确使用变量。setlocal语法及应用setlocal命令可在批处理程序运行时设置自身的临时变量,且不会影响到系统的变量环境设置。在DOS帮助里有如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- pep五年级下册英语教学工作总结模版
- 工业节能技术改造项目2025年资金申请可行性研究报告
- 智能物流新篇章:2025年自动驾驶卡车在汽车零部件物流中的应用研究报告
- 中式快餐连锁品牌2025年市场拓展与标准化供应链优化报告
- 中学体育教研培训工作总结模版
- 民办教育机构2025年品牌建设与合规运营风险管理报告
- 健康教育中的个性化医疗策略探讨
- 区块链技术如何革新现代商业模式
- 医学教育中翻转课堂的教学模式创新
- 区块链技术赋能金融安全融资策略与前景
- 大学生心理素质训练智慧树知到期末考试答案章节答案2024年九江职业技术学院
- 飞机管路基础知识课件讲解
- 合肥安徽合肥经开区择优招录社区工作者20人笔试历年典型考题及考点附答案解析
- 周转车使用管理制度
- 中医医疗技术手册2013普及版
- 【全球6G技术大会】:2023通感一体化系统架构与关键技术白皮书
- 造纸化学品3课件
- 《电力建设工程起重施工技术规范》
- 小学校教材教辅读物自查自纠排查表
- 诗歌25种表现手法及诗歌鉴赏艺术手法题(二)
- 广东省省级政务信息化(2024年第一批)项目需求-广东省财政厅业务系统运维运营服务(2024年)项目
评论
0/150
提交评论