bat文件语法说明

上传人:宝路 文档编号:2687283 上传时间:2017-07-26 格式:DOC 页数:12 大小:67.50KB
返回 下载 相关 举报
bat文件语法说明_第1页
第1页 / 共12页
bat文件语法说明_第2页
第2页 / 共12页
bat文件语法说明_第3页
第3页 / 共12页
bat文件语法说明_第4页
第4页 / 共12页
bat文件语法说明_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《bat文件语法说明》由会员分享,可在线阅读,更多相关《bat文件语法说明(12页珍藏版)》请在金锄头文库上搜索。

1、批处理语法:先讲个最基本的东西echo offecho的意思是回旋,这里的 意思就是回显,echooff意思就是关闭回显前面的 表示 echo off 这一行也不会回显你可以试着去掉和整行去掉的另一个功能是在执行完批处理文件时自动恢复命令回显。如果第一句用的是 ECHO OFF,那么在执行完批处理文件以后不会显示命令提示符。举个例子:如果我们先创建一个bat 文件,往里面输入:di r然后保存在 c:下然后 我们运行 cmd,进入c 盘根目录下,输入bat ,则显示:C:dir驱动器 C 中的卷没有标签。卷的序列号是 0C5D-07FFC: 的 目录2004-08-25 00:45 WINDO

2、WS2004-08-25 00:51 Documents and Settings.C:如果将bat内容修改成echo offdir然后再在 cmd 里输入bat,则会显示C:echo off/因为运行了 echooff,所以没有显示 dir 命令,直接显示了结果驱动器 C 中的卷没有标签。卷的序列号是 0C5D-07FFC: 的 目录2004-08-25 00:45 WINDOWS2004-08-25 00:51 Documents and SettingsC:如果将ba t 文件修改成:echo offdir则显示成:C:1.bat /与前面不同,并没有显示 echooff,原因是加了,所

3、以不显示后面的内容又因为加/了echooff ,所以后面的命令不显示,直接显示结果驱动器 C 中的卷没有标签。卷的序列号是 0C5D-07FFC: 的目录2004-08-25 00:45 WINDOWS2004-08-25 00:51 Documents and SettingsC:通过以上的比较,相信你对 echooff 命令已经充分掌握了 接下来讲的是 call 命令:call 是打电话的 call,call 的意思为调用假如有个批处 理文件 a.bat 和 b.bat如果我想运行 a.b at 的当中运行 b.bat如何运行呢?其实很简单,只要在 a.bat 文件中输入 call 命令,

4、则可以在a.bat运行的当中,运行 b.bat,等 b.bat 运行完之后,继续执行 a.batcall 命令格式:CALL drive:pathfilename batch-parametersbatch-parameters 指定批处理程序所需的命令行信息。举例如下,我们在c 盘根目录 下创建 abat 文件,内容为:echothis is a.batcall d:b.batecho done然后在d 盘根目录下创建 b.bat,内容为:echo this is b.bat保存后,打开 cmd,进入 c 盘根目录,然后输入 1.bat,显示如下:C:a.batC:echo this is

5、a.batthis is a.batC:call d:b.batC:echo this is b.batthis is b.batC:echo donedone由例子很容易看出来,是先运行 a.bat 的内容,直到遇到 callb.bat 后,则调用b.bat,运行完 b.bat 后,再返回 a.b at 接着运行 callb.bat 后面的 echodone 语句,直至将 a.bat 的所有批处理命令运行完注:里面有个batch-parameters里面的所指的参数是什么,知道的朋友能否告知,不胜感激PAUSE 命令暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。只能在批处理程

6、序中使用该命令。rem 命令:表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)同时你可以用两个冒号来替代 rem如::等同于一个 rem但他们有个区别,就是用:作注释的话他是不回显的,即使你打 echoon 强制回显也没有同的同时rem 可以在 config.sys 中加注释语法: remc ommnet批处理文件参数:有点编程基础的人都知道函数有参数批处理文件也有参数我打个比方,希望能帮助没有语言基础的人也能看的非常明白我从例子里开始吧首先在 c 盘根目录下创建一个批处理文件 a bat,里面输入内容echo %1然后打开 cmd,然后进入 c 盘根目

7、录输入:a t his is a canshu得到结果如下:C:a.bat this is a testC:echo this is a testthis is a test输入的 a this is a canshu中,a为新建的 a.bat 的文件名 a(后面的.bat 可写也可不写),而 a 后面的 this is a canshu这句话就是参数,写在这的参数,在程序运行中就将参数自动放到批处理程序中去那么放在什么位置呢?就是放在%1的地方看了例子,让我们看看整个关于参数的定义如何:批处理文件还可以像 C 语言的函数一样使用参数(相当于 DOS 命令的命令行参数),这需要用到一个参数表示

8、符%。%1-9表示参数,参数是指在运 行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0 到%9,%0 表 示批处理命令本身,其它参数字符串用%1 到%9 顺序表示。/我们上个程序的例子里就有,他就是参数,而输入中thisis atest作为参数就直接放到的位置,于是程序就变成了 echo this is a test再举几个例子帮助你理解:C:根目录下一批处理文件名为 b.bat,内容为:echo offtype %1 /type 为 dos中的输出命令,可以用来输出文本文件的内容,比如我们新建一个txt 文件/里面输入内容,保存进 cmd,如果输入txt 则看不了

9、txt文件内容,但是如果我/想看怎么办呢?这时候可以用 type 命令,只要在 cmd 里输入 typetxt 就能显示/txt 文件中的内容了type %2那么运行 C:b a.txt b.txt%1 : 表示 a.txt%2 : 表示b.txt于是上面的批处理命令就变成了echo offtype a.txttype b.txt于是上面的命令将顺序地显示a.txt和 b.txt 文件的内容。没有编程基础的人可能要问,干什么要弄个参数啊?在后面加个参数多麻烦啊?直接往里面写不就好了啊?!其实这样想有对的方面也有错的方面还是举个例子说明吧第一步还是在 c 盘根目录下新建 一个批处理文件,我们取名

10、仍为 a.bat往里面的内容输入为:ping %1 /ping 命令可以简单理解为测试一台机器开着还是没有开,如果开着的话,他就回给你回送回应然后进 cmd,我们想测试下的服务器是不是开着,则输入 a 对于知道 ping 命令的人,可以打ping 进行检查,但如果想 ping 的人不知道ping 命令怎么用,那怎么办啊?这时候你就可以把命令预先 输 入到批处理文件中,保存好,然后让不会用的人进 cmd,运行你的批处理文件,文件名后面加上他要ping的网站地址就行了换句话说,他想 ping 就直接加的网址,想 pings ina 就直接加 sina 的网址这样只要输入一个参数 ,而不用改程序本身

11、,整个程序的通用性就大大提高了这是对于一个简单的 ping 命令,你或许觉得用参数不值 得,还是直接改不就好了啊但如果程序有很多条,你一下找不到在哪改怎么办啊?所以,不 管你是菜哥,菜弟,菜姐,菜妹,只要运行下,输入参数,结果自己就会出来,不用再象你一样,考虑怎么编写批处理文件人家只要知道是输入什么东西能让批处 理程序运行,而编写的人则想的是如何让不懂程序的人能运行程序批处理参数就这么简单,不知道你理解了没有?但如果你想深一步了解批处理参数,可以接着往下看,如果不想深入了解,知道现在这么多也就够了以下粉红色内容为网上资料因为参数只有,但当我们要引用第十个或更多个参数时, 就必须移动 DOS 的

12、参数起始指针. shift 命令正充当了这个移动指针的角色, 它将参数的起始指针移动到下一个参数, 类似C 语言中的指针操作. 图示如下:初始状态, cmd 为命令名, 可以用 %0 引用cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 &line; &line; &line; &line; &line; &line; &line; &line; &line; &line;%0 %1 %2 %3 %4 %5 %6 %7 %8 %9经过 1 次shift后, cmd 将无法被引用cmd arg1 arg2 arg3 arg4 arg5

13、arg6 arg7 arg8 arg9 arg10 &line; &line; &line; &line; &line; &line; &line; &line; &line; &line;%0 %1 %2 %3 %4 %5 %6 %7 %8 %9经过 2 次 shift 后, arg1 也被废弃, %9 指向为空, 没有引用意 义cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 &line; &line; &line; &line; &line; &line; &line; &line; &line; &line;%0 %1 %2

14、%3 %4 %5 %6 %7 %8 %9遗憾的是, win9x 和 DOS 下均不支持 shift 的逆操作. 只有在 nt 内核命令行环境下, shift 才支持 /n 参数, 可以以第一参数为基准返复移动起始指针.=if goto choice for 高级语法if 命令说得通俗点,if 就相当于我们白话里的如果举个例子:如果a 喜欢 b, 那么 a 就要娶 b这句话翻译成 计算机语言就成了ifa 喜欢 ba 就要娶 b当然拉,计算机不可能理解 a 喜欢 b,a 就要娶 b 这两句话,这里只是举个例子让你方便理解if 语句一共有 3 种模式,如下:IF NOT string1=string

15、2 commandIF NOT EXIST filename commandIF NOT ERRORLEVEL number commandNOT 指定只有条件为 fa lse 的情况下, Windows XP 才应该执行该命令。ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出编码,指定条件为 true。string1=string2 如果指定的文字字符串匹配,指定条件为 t rue。EXIST filename 如果指定的文件名存在,指定条件为 true。command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE ,命令后可跟一个执行 ELSE关键字后的命令的 ELSE 命令。我们先讲解第一种:IF NOT string1=string2 command自然语句意思:如果 string1string2,那么执行command下面再举个能实际应用的if 语句自然语句:如

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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