BAT脚本编写教程(比较易懂和全面).pdf

上传人:飞****9 文档编号:135610588 上传时间:2020-06-17 格式:PDF 页数:11 大小:168.08KB
返回 下载 相关 举报
BAT脚本编写教程(比较易懂和全面).pdf_第1页
第1页 / 共11页
BAT脚本编写教程(比较易懂和全面).pdf_第2页
第2页 / 共11页
BAT脚本编写教程(比较易懂和全面).pdf_第3页
第3页 / 共11页
BAT脚本编写教程(比较易懂和全面).pdf_第4页
第4页 / 共11页
BAT脚本编写教程(比较易懂和全面).pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《BAT脚本编写教程(比较易懂和全面).pdf》由会员分享,可在线阅读,更多相关《BAT脚本编写教程(比较易懂和全面).pdf(11页珍藏版)》请在金锄头文库上搜索。

1、BAT 脚本编写教程脚本编写教程 比较易懂和全面比较易懂和全面 这篇文章主要介绍了 BAT 脚本编写教程 比较易懂和全面 适合有一定编程基础 的人 echo call pause rem 小技巧 用 代替 rem 是批处理文件最常用的几个命令 我 们就从他们开始学起 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 与 echo off 相象 但它是加在每个命令行的最前面 表示运行时不显示这一行的命令行 只 能影响当前行 call 调用另一个批处理文件 如果不用 call 而直接调用别的批处理文件 那么执行完那个批 处理文件后将无法返回当前文件

2、并执行当前文件的后续命令 pause 运行此句会暂停批处理的执行并在屏幕上显示 Press any key to continue 的提示 等待用户按任意键后继续 rem 表示此命令后的字符为解释行 注释 不执行 只是给自己今后参考用的 相当于 程序中的注释 例 1 用 edit 编辑 a bat 文件 输入下列内容后存盘为 c a bat 执行该批处理文件后可实 现 将根目录中所有文件写入 a txt 中 启动 UCDOS 进入 WPS 等功能 批处理文件的内容为 命令注释 echo off不显示后续命令行及当前命令行 dir c a txt将 c 盘文件列表写入 a txt call c

3、ucdos ucdos bat调用 ucdos echo 你好显示 你好 pause暂停 等待按键继续 rem 准备运行 wps注释 准备运行 wps cd ucdos进入 ucdos 目录 wps运行 wps 批处理文件的参数 批处理文件还可以像 C 语言的函数一样使用参数 相当于 DOS 命令的命令行参数 这需 要用到一个参数表示符 1 9 表示参数 参数是指在运行批处理文件时在文件名后加的以空格 或者 Tab 分隔 的字符串 变量可以从 0 到 9 0 表示批处理命令本身 其它参数字符串用 1 到 9 顺序表示 例 2 C 根目录下有一批处理文件名为 f bat 内容为 echo off

4、 format 1 如果执行 C f a 那么在执行 f bat 时 1 就表示 a 这样 format 1 就相当于 format a 于是上面的命令 运行时实际执行的是 format a 例 3 C 根目录下一批处理文件名为 t bat 内容为 echo off type 1 type 2 那么运行 C t a txt b txt 1 表示 a txt 2 表示 b txt 于是上面的命令将顺序地显示 a txt 和 b txt 文件的内容 特殊命令 if goto choice for 是批处理文件中比较高级的命令 如果这几个你用得很熟练 你就是批处 理文件的专家啦 一 if 是条件语句

5、 用来判断是否符合规定的条件 从而决定执行不同的命令 有三种格 式 1 if not 参数 字符串 待执行的命令 参数如果等于 not 表示不等 下同 指定的字符串 则条件成立 运行命令 否则运行下一 句 例 if 1 a format a 2 if not exist 路径 文件名 待执行的命令 如果有指定的文件 则条件成立 运行命令 否则运行下一句 如 if exist c config sys type c config sys 表示如果存在 c config sys 文件 则显示它的内容 3 if errorlevel 待执行的命令 很多 DOS 程序在运行结束后会返回一个数字值用来表

6、示程序运行的结果 或者状态 通过 if errorlevel 命令可以判断程序的返回值 根据不同的返回值来决定执行不同的命令 返回值 必须按照从大到小的顺序排列 如果返回值等于指定的数字 则条件成立 运行命令 否 则运行下一句 如 if errorlevel 2 goto x2 二 goto 批处理文件运行到这里将跳到 goto 所指定的标号 标号即 label 标号用 后跟标准 字符串来定义 处 goto 语句一般与 if 配合使用 根据不同的条件来执行不同的命令组 如 goto end end echo this is the end 标号用 字符串 来定义 标号所在行不被执行 三 cho

7、ice 使用此命令可以让用户输入一个字符 用于选择 从而根据用户的选择返回 不同的 errorlevel 然后于 if errorlevel 配合 根据用户的选择运行不同的命令 注意 choice 命令为 DOS 或者 Windows 系统提供的外部命令 不同版本的 choice 命令语 法会稍有不同 请用 choice 查看用法 choice 的命令语法 该语法为 Windows 2003 中 choice 命令的语法 其它版本的 choice 的 命令语法与此大同小异 CHOICE C choices N CS T timeout D choice M text 描述 该工具允许用户从选择

8、列表选择一个项目并返回所选项目的索引 参数列表 Cchoices指定要创建的选项列表 默认列表是 YN N在提示符中隐藏选项列表 提示前面的消息得到显示 选项依旧处于启用状态 CS允许选择分大小写的选项 在默认情况下 这个工具 是不分大小写的 Ttimeout做出默认选择之前 暂停的秒数 可接受的值是从 0 到 9999 如果指定了 0 就不会有暂停 默认选项 会得到选择 Dchoice在 nnnn 秒之后指定默认选项 字符必须在用 C 选 项指定的一组选择中 同时 必须用 T 指定 nnnn Mtext指定提示之前要显示的消息 如果没有指定 工具只 显示提示 显示帮助消息 注意 ERRORL

9、EVEL 环境变量被设置为从选择集选择的键索引 列出的第一个选 择返回 1 第二个选择返回 2 等等 如果用户按的键不是有效的选择 该工具会发出警告响声 如果该工具检测到错误状态 它会返回 255 的 ERRORLEVEL 值 如果用户按 Ctrl Break 或 Ctrl C 键 该工具会返回 0 的 ERRORLEVEL 值 在一个批程序中使用 ERRORLEVEL 参数时 将参数降 序排列 示例 CHOICE CHOICE C YNC M 确认请按 Y 否请按 N 或者取消请按 C CHOICE T 10 C ync CS D y CHOICE C ab M 选项 1 请选择 a 选项

10、2 请选择 b CHOICE C ab N M 选项 1 请选择 a 选项 2 请选择 b 如果我运行命令 CHOICE C YNC M 确认请按 Y 否请按 N 或者取消请按 C 屏幕上会显示 确认请按 Y 否请按 N 或者取消请按 C Y N C 例 test bat 的内容如下 注意 用 if errorlevel 判断返回值时 要按返回值从高到低排列 echo off choice C dme M defrag mem end if errorlevel 3 goto end if errorlevel 2 goto mem if errotlevel 1 goto defrag de

11、frag c dos defrag goto end mem mem goto end end echo good bye 此批处理运行后 将显示 defrag mem end D M E 用户可选择 d m e 然后 if 语句根 据用户的选择作出判断 d 表示执行标号为 defrag 的程序段 m 表示执行标号为 mem 的程 序段 e 表示执行标号为 end 的程序段 每个程序段最后都以 goto end 将程序跳到 end 标 号处 然后程序将显示 good bye 批处理运行结束 四 for 循环命令 只要条件符合 它将多次执行同一命令 语法 对一组文件中的每一个文件执行某个特定命令

12、 FOR variable IN set DO command command parameters variable指定一个单一字母可替换的参数 set 指定一个或一组文件 可以使用通配符 command指定对每个文件执行的命令 command parameters 为特定命令指定参数或命令行开关 例如一个批处理文件中有一行 for c in bat txt do type c 则该命令行会显示当前目录下所有以 bat 和 txt 为扩展名的文件的内容 批处理示例 1 IF EXIST 1 首先用记事本在 C 建立一个 test1 bat 批处理文件 文件内容如下 echo off IF E

13、XIST AUTOEXEC BAT TYPE AUTOEXEC BAT IF NOT EXIST AUTOEXEC BAT ECHO AUTOEXEC BAT does not exist 然后运行它 C TEST1 BAT 如果 C 存在 AUTOEXEC BAT 文件 那么它的内容就会被显示出来 如果不存在 批处理就 会提示你该文件不存在 2 接着再建立一个 test2 bat 文件 内容如下 ECHO OFF IF EXIST 1 TYPE 1 IF NOT EXIST 1 ECHO 1 does not exist 执行 C TEST2 AUTOEXEC BAT 该命令运行结果同上 说

14、明 1 IF EXIST 是用来测试文件是否存在的 格式为 IF EXIST 路径 文件名 命令 2 test2 bat 文件中的 1 是参数 DOS 允许传递 9 个批参数信息给批处理文件 分别 为 1 9 0 表示 test2 命令本身 这有点象编程中的实参和形参的关系 1 是形参 AUTOEXEC BAT 是实参 3 更进一步的 建立一个名为 TEST3 BAT 的文件 内容如下 echo off IF 1 A ECHO XIAO IF 2 B ECHO TIAN IF 3 C ECHO XIN 如果运行 C TEST3 A B C 屏幕上会显示 XIAO TIAN XIN 如果运行 C

15、 TEST3 A B 屏幕上会显示 XIAO TIAN 在这个命令执行过程中 DOS 会将一个空字符串指定给参数 3 2 IF ERRORLEVEL 建立 TEST4 BAT 内容如下 ECHO OFF XCOPY C AUTOEXEC BAT D IF ERRORLEVEL 1 ECHO 文件拷贝失败 IF ERRORLEVEL 0 ECHO 成功拷贝文件 然后执行文件 C TEST4 如果文件拷贝成功 屏幕就会显示 成功拷贝文件 否则就会显示 文件拷贝失败 IF ERRORLEVEL 是用来测试它的上一个 DOS 命令的返回值的 注意只是上一个命令的返回 值 而且返回值必须依照从大到小次序

16、顺序判断 因此下面的批处理文件是错误的 ECHO OFF XCOPY C AUTOEXEC BAT D IF ERRORLEVEL 0 ECHO 成功拷贝文件 IF ERRORLEVEL 1 ECHO 未找到拷贝文件 IF ERRORLEVEL 2 ECHO 用户通过 ctrl c 中止拷贝操作 IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作 IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误 无论拷贝是否成功 后面的 未找到拷贝文件 用户通过 ctrl c 中止拷贝操作 预置错误阻止文件拷贝操作 拷贝过程中写盘错误 都将显示出来 以下就是几个常用命令的返回值及其代表的意义 backup 0 备份成功 1 未找到备份文件 2 文件共享冲突阻止备份完成 3 用户用 ctrl c 中止备份 4 由于致命的错误使备份操作中止 diskcomp 0 盘比较相同 1 盘比较不同 2 用户通过 ctrl c 中止比较操作 3 由于致命的错误使比较操作中止 4 预置错误中止比较 diskcopy 0 盘拷贝操作成功 1 非致命盘读 写错 2 用户通过 ctrl c 结束

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

当前位置:首页 > 办公文档 > 教学/培训

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