bat文件编写模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
bat文件编写模板
篇一:如何编写bat文件
如何编写bat文件
第一节:(主要是一些界面形式功能的实现以及初始化)
1.“@echooff”--我们所写的bat一开始一般都有这一句,这一句的作用是:使所有的命令响应隐藏。“@”--本行命令不回显
。(本来如果你用echooff就可以了,但(bat文件编写模板)是还是能够看到echooff这条命令在cmd下,影响美观)
2.“color1e”--设置默认的控制台前景和背景颜色。当前我设为蓝底黄字,具体颜色请在cmd下用“color/”查询。
--这里又提到了这个参数“/”,一般cmd下命令后加“/”就会显示这条命令的帮助。
3.“rem”--注释作用,批处理执行过程中前不执行它,
rem后的字符只作注释作用。
4.“title”--设置命令提示窗口的窗口标题。默认为“cmd”。改成自己喜欢的多有个性,嘿嘿。
5.“cls”--不多说,清屏命令。主要是怕前面的一些空白或字符出现影响美观。
6.“set”--这个命令的作用很大,请用“set/”查询具体使用方法。本例“settopip=172.16.”是将一个名为“topip”的变量值设为“172.16.”。注意cmd下变量的设置不区别数字与字符,能够自动根据提供的值调整。下行“settheip=0.0”同理。
7.“echo.”--在新行中显示一个“.”。echo命令能显示其后的comment。这里提几个有趣实用的用法--“echo.”,注意与前面的不同,“echo”与“.”间无空格。这条命令如同一个回车,在新行不显示任何信息并换行。“echo”,实现响铃的提示音。后面一个字符的输入方法是在cmd下用“ctrl+g”,而这个字符得到的方法是cmd下用命令“echo"ctrl+g">ex.txt”,存入ex.txt文件,再从那里提取出来的。嘿嘿,如果你懒得做,就copy我在上面提供的字符喽。
8.“if”--这条命令也会经常用到,请用“if/”学习更多信息。本例“ifnotexistscanipc.exe(echo文件错误!……)”,实现功能:当同级目录下不存在“scanipc.exe”
时,提示“文件错误!……”。否则不提示。“ifnotexistfilename”在批处理中使用比较多些。
9.“:top”,设置一个标志点,标志名为“top”。“:”的作用就是设置标志。网上有文章说“使用"::comment"作为注释比"remcomment"执行效率更高。”我相信,这里也建议大家,如果bat中注释较多时,请使用“::comment”设置。
10.“set/ppno=”--设置一个变量,并接受用户输入。bat不需要预先声明变量,只在需要时设置。参数“/p”:将变量数值设成用户输入的一行输入。
11.“if%pno%gtr9gotoonerrorspno”--检验用户输入值是否大于9,是,则转到一个指定标志点。这里注意bat 中变量引用时要在前后加“%”,但在if语句中可有可无,具体应用大家多写几遍就有体会。
12.“gotolabel”--无条件跳转到指定标志位并向后执行。bat好像只有这么一个跳转语句了,作用不用我说,用了就知道。注意不要构成死循环。
小结:到此,完成了颜色设置、注释版权说明、标题设置、变量初始化、欢迎信息、功能界面初始化、标志点设置(因为欢迎信息只显示一次而功能界面要多次使用所以将
标志点设置在欢迎信息的后面。)命令的接受与跳转。
;功能界面一般要用“tab”键调整相对位置,才能起
到美观的效果。请多练习几遍领会。;大家在写脚本过程中要注意标志点的设置位置,才能起到合适的效果。一般写过几个脚本会有些感受。
;接着接受用户输入后“cls”清屏开始执行指定功能。注意这个cls的作用。因为清屏可以在此时,也可以在每个命令执行之前,但如果在每个命令执行之前用的请,那么要写的cls就多了,于是把cls写在这里合适,方便节约快捷。大家在写脚本时也应当注意这方面的技巧,将使你写出更加高效节约方便的代码。在每次写完脚本后合理地整合一下自己的代码。能积累不少经验。
;另外,鉴于部分人仍不知道如何建立bat文件与运行,请:打开记事本,写入代码,保存,保存类型为“所有文件*.*”,文件名为“name*.bat”。保存后,双击运行。因为一般bat运行很快,所以你可能只看到窗口一闪就消失了,那么你可以在exit之前加pause确保能看见运行结果。
到此,你应该能够写一个很简单的脚本了,实现一些界面控制。
例1:
@echooff
colorca
title这是我第一个bat脚本。
echo这是我第一个bat脚本。不错啊。
pause>nul
exit
第二节:(提一些好用的命令)
以下设置的都是功能段,在“gotostep%pno%”跳转到相应功能段后,开始执行相应功能。一般命令段:step1:ping命令。(在echo中变量的引用请注意前后加“%”号,否则会导致程序出错。)我们常用的ping命令:其实很简单,自己看帮助啦。
本句“ping%topip%%theip%-n1|findstr100%>nul”将ping只发送一次数据包,这样命令执行起来就快多了,但这样所会引起一定概率的误判,而我们在内网这种概率很低,低到可以忽略。所以本人使用参数“-n1”减少执行时间。将结果不回显而通过管道命令“|”送给findstr分析,findstr查找是否存在“100%”,并将回显“丢弃”--“>nul”。因为如果ping一台主机如果返回的结果有“100%”存在说明“不在线。或者有防火墙阻挡。”。所以用findstr确定字符串“100%”的存在性,因为findstr也有回显,但我们并不需要,所以将它“丢弃”,使用参数“>nul”将指定命令回显丢弃。(这一句命令是重点,请仔细领会。)
又因为findstr确定指定字符串的存在性后会设定环境变量“errorlevel”的值,所以我们根据
“if%errorlevel%equ0(command)”,判断findstr的执行结