BAT_批处理脚本_教程

上传人:飞*** 文档编号:50959147 上传时间:2018-08-11 格式:PDF 页数:72 大小:160.52KB
返回 下载 相关 举报
BAT_批处理脚本_教程_第1页
第1页 / 共72页
BAT_批处理脚本_教程_第2页
第2页 / 共72页
BAT_批处理脚本_教程_第3页
第3页 / 共72页
BAT_批处理脚本_教程_第4页
第4页 / 共72页
BAT_批处理脚本_教程_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《BAT_批处理脚本_教程》由会员分享,可在线阅读,更多相关《BAT_批处理脚本_教程(72页珍藏版)》请在金锄头文库上搜索。

1、BAT 批处理脚本教程第一章 批处理基础第一节 常用批处理内部命令简介批处理定义: 顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT 或者 CMD 。这些命令统称批处理命令。小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。了解了大概意思后 ,我们正式开始学习 .先看一个简单的例子 ! echo off echo “ 欢迎来到非常 BAT!“ pause 把上面的 3 条命令保存为文件test.bat或者 test.cmd然后执行 , 他就会在屏幕上显示以下二行话: 欢迎来到非常 BAT! 请按任意键继续 . . . 这就是一个

2、简单批处理文件了,这个批处理文件一共就用了2 条命令 “echo“ 和“pause“ 还有一个特殊符号 “ 从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的! (以下内容来源网络 ,请各位仔细阅读 ,好进入下节的实例说明 ) = 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)1 、REM 和 : rem 2 、ECHO 和 echo 3 、PAUSE pause 4 、ERRORLEVEL errorlevel 5 、TITLE titl

3、e 6 、COLOR color 7 、mode 配置系统设备8 、GOTO 和 : goto 9 、FIND find 10 、START start 11 、assoc 和 ftype 12 、pushd 和 popd 13 、CALL call 14 、shift 15 、IF 16 、setlocal 与 变量延迟17 、ATTRIB 显示或更改文件属性attrib 介绍命令1、REM 和 : REM 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。其次, : 也可以起到 rem 的注释作用 , 而且更简洁有效 ; 但有两点需要注意:第一, 任何以冒号 :开头的字

4、符行 , 在批处理中都被视作标号, 而直接忽略其后的所有内容。有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,可以起到注释作用,所以: 常被用作注释符号,其实:+ 也可起注释作用。第二, 与 rem 不同的是 , : 后的字符行在执行时不会回显, 无论是否用 echo on 打开命令行回显状态 , 因为命令解释器不认为他是一个有效的命令行, 就此点来看 , rem 在某些场合下将比: 更为适用 ; 另外, rem 可以用于config.sys 文件中。行内注释格式: % 注释内容 % (不常用,

5、慎用)2、ECHO 和 字符放在命令前将关闭该命令回显,无论此时echo 是否为打开状态。echo 命令的作用列举如下:(1)打开回显或关闭回显功能格式:echo on|off 如果想关闭 “ ECHO OFF” 命令行自身的显示,则需要在该命令行前加上 “ ” 。(2)显示当前 ECHO 设置状态格式:echo (3)输出提示信息格式:ECHO 信息内容上述是 ECHO 命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:(4)关闭 DOS 命令提示符在 DOS 提示符状态下键入ECHO OFF ,能够关闭 DOS 提示符的显示使屏幕只留下光标,直至键入E

6、CHO ON ,提示符才会重新出现。(5)输出空行,即相当于输入一个回车格式:ECHO 值得注意的是命令行中的 “ ” 要紧跟在 ECHO 后面中间不能有空格, 否则“ ”将被当作提示信息输出到屏幕。另外“ ” 可以用, :;” 等任一符号替代。命令 ECHO输出的回车,经DOS 管道转向可以作为其它命令的输入,比如 echo.|time即相当于在 TIME 命令执行后给出一个回车。 所以执行时系统会在显示当前时间后,自动返回到DOS 提示符状态(6)答复命令中的提问格式:ECHO 答复语 |命令文件名上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK F;FORMAT Drive:

7、 ;del *.*)的操作,它是通过DOS 管道命令把 ECHO 命令输出的预置答复语作为人机对话命令的输入。 下面的例子就相当于在调用的命令出现人机对话时输入 “Y”回车:C:ECHO Y|CHKDSK/F C:ECHO Y|DEL A :*.* (7)建立新文件或增加文件内容格式: ECHO 文件内容 文件名ECHO 文件内容 文件名例如:C:ECHO ECHO OFFAUTOEXEC.BAT建立自动批处理文件C:ECHO C:CPAVBOOTSAFEAUTOEXEC.BAT向自动批处理文件中追加内容C:TYPE AUTOEXEC.BAT显示该自动批处理文件ECHO OFF C:CPAVB

8、OOTSAFE (8)向打印机输出打印内容或打印控制码格式: ECHO 打印机控制码 ;PRN ECHO 打印内容 ;PRN 下面的例子是向 M1724打印机输入打印控制码。Alt 156 是按住 Alt 键在小键盘键入 156 ,类似情况依此类推:C:ECHO +156+42+116;PRN(输入下划线命令FSt)C:ECHO email=+155+155;PRN/email(输入初始化命令ESC)C:ECHO.;PRN(换行)(9)使喇叭鸣响C:ECHO G “ G” 是在 dos 窗口中用 Ctrl G 或 Alt 007 输入,输入多个 G 可以产生多声鸣响。使用方法是直接将其加入批处

9、理文件中或做成批处理文件调用。这里的 “G” 属于特殊符号的使用,请看本文后面的章节3、PAUSE PAUSE,玩游戏的人都知道,暂停的意思在这里就是停止系统命令的执行并显示下面的内容。例:PAUSE 运行显示:请按任意键继续 . . . 要显示其他提示语,可以这样用:Echo 其他提示语d: a.txt 来实现 11 、“ 字符串界定符双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法cd “program files“ cd progra1 cd pro* 以上三种方法都可以进入program files这个目录12 、, 逗号逗号相当于空格,在某些情况下“, ”可以用来当做空格

10、使比如dir,c: 13 、; 分号分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序仍会执行。(有人说不会继续执行,其实测试一下就知道了)比如:dir c:;d:;e:;z: 以上命令相当于dir c: dir d: dir e: dir f: 如果其中 z 盘不存在,运行显示:系统找不到指定的路径。 然后终止命令的执行。例:dir c:;d:;e:1.txt 以上命令相当于dir c: dir d: dir e:1.txt 其中文件 e:1.txt不存在,但 e 盘存在,有错误提示,但命令仍会执行。为什么?如果目标路径不存在,则终止

11、执行;如果路径存在,仅文件不存在,则继续执行。就说这些了 !各位有什么意见请回贴 !有什么疑问请到 BAT 交流区发贴 !下一节改进! 14 、() 括号小括号在批处理编程中有特殊的作用,左右括号必须成对使用, 括号中可以包括多行命令,这些命令将被看成一个整体,视为一条命令行。括号在 for 语句和 if 语句中常见,用来嵌套使用循环或条件语句,其实括号() 也可以单独使用,请看例子。例:命令: echo 1 注释行 ,这是临时文件 ,用完删除test.txt echo 11段 12 段 13 段 14 段 15 段 16 段 test.txt echo 21段,22 段,23 段,24 段,

12、25 段,26 段 test.txt echo 31段-32 段-33 段-34 段-35 段-36 段 test.txt FOR /F “eol=; tokens=1,3* delims=,- “ %i in (test.txt) do echo %i %j %k Pause Del test.txt 运行显示结果:11 段 13 段 14 段 15 段 16 段21 段 23 段 24 段,25 段,26 段31 段 33 段 34 段-35 段-36 段请按任意键继续 . . . 为什么会这样 ?我来解释:eol=; 分号开头的行为注释行tokens=1,3* 将每行第 1 段,第 3

13、段和剩余字段分别赋予变量%i ,%j ,%k delims=,- (减号后有一空格)以逗号减号和空格为分隔符,空格必须放在最后For 命令例 2:* echo off FOR /F “eol= delims=“ %i in (test.txt) do echo %i Pause 运行将显示 test.txt全部内容,包括注释行,不解释了哈。For 命令例 3:* 另外/F 参数还可以以输出命令的结果看这个例子echo off FOR /F “delims=“ %i in (net user) do echo %i pause 这样你本机全部帐号名字就出来了把扩号内的内容用两个单引号引起来就表示

14、那个当命令执行 ,FOR 会返回命令的每行结果 ,加那个“delims=“ 是为了让我空格的行能整行显示出来 ,不加就只显示空格左边一列! 基本上讲完了 FOR 的基本用法了 . 如果你看过 FOR 的系统帮助 ,你会发现他下面还有一些特定义的变量,这些我先不讲 .大家因该都累了吧 !你不累我累啊 所谓文武之道,一张一弛,现休息一下。第三章 FOR 命令中的变量FOR 命令中有一些变量 ,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法 ! 先把 FOR 的变量全部列出来 : I - 删除任何引号 (“) ,扩展 %I %fI - 将 %I 扩展到一个完全合格的路径名%dI - 仅将

15、 %I 扩展到一个驱动器号%pI - 仅将 %I 扩展到一个路径%nI - 仅将 %I 扩展到一个文件名%xI - 仅将 %I 扩展到一个文件扩展名%sI - 扩展的路径只含有短名%aI - 将 %I 扩展到文件的文件属性%tI - 将 %I 扩展到文件的日期 /时间%zI - 将 %I 扩展到文件的大小%$PATH:I - 查找列在路径环境变量的目录,并将%I 扩展到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串我们可以看到每行都有一个大写字母“I“, 这个 I 其实就是我们在 FOR 带入的变量,我们 FOR 语句代入的变量名是什么 ,这里就写什么 . 比如:FOR /F %z IN (set) DO echo %z 这里我们代入的变量名是z 那么我们就要把那个I 改成 z,例如%fI改为%fz 至于前面的 %p这样的内容就是语法了 ! 好开始讲解 : 一、 I - 删除任何引号 (“) ,扩展%I 这个变量的作用就如他的说明,删除引号 ! 我们来看这个例子 : 首先建立临时文件temp.txt,内容如下“1111 “2222“ 3333“ “4444“44 “55“55“55 可建立个 BAT 文件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号