bat批处理教程超级详细教程.docx
《bat批处理教程超级详细教程.docx》由会员分享,可在线阅读,更多相关《bat批处理教程超级详细教程.docx(133页珍藏版)》请在三一办公上搜索。
1、bat批处理教程(1)这是一篇技术教程,我会用很简洁的文字表达清晰自己的意思,你要你识字就能看懂,就能学到学问。写这篇教程的目的,是让每一个看过这些文字的挚友记住一句话:假如爱可以让事情变的更简洁,那么就让它简洁吧!看这篇教程的方法,就是慢!渐渐的,犹如品一个女人、一杯茗茶,你会发觉很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。先概述一下批处理是个什么东西。批处理的定义,至今我也没能给出一个合适的众多高手们也都没给出一一一反正我不知道一一看了我也不确定信服一一我是个菜鸟,当然就更不用说了;但我想总结出一个比较合适的而且我也信任自己可以把它说明的很清晰,让更多的菜鸟
2、都知道这是个什么东西,你用这个东西可以干什么事情。或许你会因为这篇文章而无条件爱上批处理;那么我的目的就达到了一一我就是要让你爱上它,我就这么拽,你能怎么着?真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!依据我的理解,批处理的本质,是一堆DoS吩咐按确定依次排列而形成的集合。ok,neverclaverandgettobusiness(闲谈少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就Ok了:每一行可视为一个吩咐,每个吩咐里可以含多条子吩咐,从第一行起先执行,直到最终一行结束,它运行的
3、平台是DOS。批处理有一个很显明的特点:运用便利、敏捷,功能强大,自动化程度高。我不想让自己写的教程味同嚼蜡,因为牵缠到代码(批处理的内容算是代码吧?)的问题原来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。所以我会用很多简洁好用的例子让读这篇教程的挚友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?究竟批处理和爱有什么关系?答案:没有!)。再说句闲谈2要学好批处理,DoS基础确定要牢!当然脑子敏捷也是很重要的一方面。例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的儿行吩咐保存为name.bat然后执行(以后文中只给出代码,保存和
4、执行方式类似):pingsz.tencenta.txtpingszl.tencenta.txtpingsz2.tencenta.txtpingsz3.tencenta.txtpingsz4.tencenta.txtpingsz5.tencenta.txtpingsz6.tencenta.txtpingsz7.tencenta.txtexit是不是都能看的懂?是不是很easy?但它的作用却是很好用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txl的文件,它里面记录的信息可以帮助你快速找到速度最快的QQ服务器,从而远离从服务器中转那一苦痛的过程。这里的意思,是把前面吩咐得到的东西放到后面
5、所给的地方,的作用,和的相同,区分是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行吩咐得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何搞破坏了?)oBytheway,这个批处理还可以和其他吩咐结合,搞成完全自动化推断服务器速度的东东,执行后干脆显示速度最快的服务器IP,是不是很爽?后面还将具体介绍。例二、再给出一个已经过时的例子(a.bat):CChooffifexistC:ProgralTencentAD*.gifdelC:Progra-lTencentAD*.gifa.bat为什么说这是个过时的例子呢?很简洁,因为现在已经几乎没有人用带广告的QQ了(KA0
6、,我的QQ还显示好友三围呢!),所以它几乎用不上了。但曾经它的作用是不行小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以依据状况自行修改。在这个脚本中运用了if吩咐,使得它可以达到适时推断和删除广告图片的效果,你只须要不关闭吩咐执行后的DOS窗口,不按CTR1.+C强行终止吩咐,它就始终监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。例三,运用批处理脚本查是否中冰河。脚本内容如下:CChooffnetstat-a-na.txttypea.txtIfind7626&echoCong
7、ratulations!YouhaveinfectedG1.ACIER!dela.txtpause&exit这里利用了netstat吩咐,检查全部的网络端口状态,只须要你清晰常见木马所运用的端口,就能很easy的推断出来是否被人种了冰河。然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测全部木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合吩咐&和管道吩咐I,后面将具体介绍。例四,借批处理自动清除系统垃圾,脚本如下:echooffi
8、fexistc:windowstemp*.*delc:windowstemp*.*ifexistc:windowsTemor-1*.*delc:windowsTemporl*.*ifexistc:windowsHistory*.*delc:windowsHistory*.*ifexistc:windowsrecent*.*delc:windowsrecent*.*将以上脚本内容保存到autoexec.bat里,每次开机时就把系统垃圾给自动删除了。这里须要留意两点:一、DOS不支持长文件名,所以就出现了Temporal这个东东;二、可依据自己的实际状况进行改动,使其符合自己的要求。怎么样,看到这
9、里,你对批处理脚本是不是已经有点爱好了?是不是发觉自己已经渐渐爱上了这个东东?别兴奋的太早,爱不是一件简洁的事,它或许能带给你欢乐和华蜜,当然也能让你苦痛的想去跳楼。假如你知道很难还敢接着的话,I服了YoU!接着努力吧,或许到最终你不确定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。酸、苦和辣,有没有甜天知道。为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写好玩多少,缘由有二:其一,批处理和爱情有很多相同的地方,有些地方我用专业的行话说明不清(我不怀疑自己的表达实力,而是事情本身就不好说清晰),说了二没说,但用地球人都知道的爱情一比方(爱情是什么?
10、我*怎么知道!),没准你心里一下就亮堂了,事半功倍,何乐而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(或许还真有点效果一一不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。看过第一章的挚友,确定对批处理有了初步的印象,知道它究竟是用来干什么的了。但你知道运用批处理的精髓在哪里吗?其实很简洁:思路要敏捷!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单
11、恋。废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!批处理看起来杂乱无章,但它的逻辑性之强,确定不比其他程序语言(如汇编)低,假如你写的脚本是一堆乱麻,虽然每一行吩咐都正确,但从头执行到尾后,不确定得到你想要的结果,或许是一屏幕的Badcommandorfailname。这又和爱情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想望见的结果。陷入爱河的挚友,信任没有不愿定这句话的。我的爱情批处理,输出的结果不是Badcommandorfailname,屏幕是这么显示的:你的爱情不是内部或外部吩咐,也不是可运行的程序或批处理文件。然后就是光标不停闪动,等待这下一次错误的
12、输入。从这一章起先,将由浅入深的介绍批处理中常用的吩咐,很多常见DoS吩咐在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更敏捷多样,更具备自动化。要学好批处理,DOS确定要有比较扎实的基础。这里只讲解并描述一些比较少用(相对来说)的DOS吩咐,常用吩咐如COPY、DIR等就不做介绍了(这些看似简洁的吩咐实际困难的很,我怕自己都说不清晰!)。例五,先看一个实例。这是一个很有意思的脚本,一个小巧好用的好东东,把批处理自动化的特点体现的淋漓尽致。先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环
13、节须要输入很多东西,麻烦的很(只有经验过的挚友才懂得)。如何使这个过程变的简洁呢?在我们搞汇编课程设计时,我被.写了这个脚本,用起来很爽,呵呵。看看脚本内容:echooff:closeechocis:cleanscreenechoThisprogrammeistomaketheMASMprogrammeautomate:!displayinfoechoEditbyCODERED:!displayinfoechoMailtome:qqki1ler*sina:!displayinfoif%l=lgotousage:ifinputwithoutparamatergotousageif%=/?goto
14、usage:ifparamateris,7?gotousageif%=helpgotousage:ifparamaterishelpgotousagepause:pausetoseeusagemasm%1.asm:!assemblethe.asmcodeiferrorlevel1pause&edit%1.asm:iferrorpausetoseeerrormsgandeditthecodelink%l.obj&%1:else1inkthe.objfileandexecutethe.exefile:usage:setusageechoUsage:ThisBATfilenameasmfiIenam
15、eechoDefaultBATfilenameisSTART.BAT:displayusage先不要被这一堆的东西给吓怕了,静下心来细致的看(I可想一下第一章中第一段是怎么写的!)o已经给出了每一行吩咐的说明,两个冒号后面的内容为前一行内容说明的E文(胆怯E文的挚友也不用担忧,都很easy,一看就懂了,实在不懂了不会查词典啊,这么懒?),在脚本执行时不显示,也不起任何作用。倒数第5行行首有一个冒号,可不是笔误哦!具体作用后面会具体讲到。此脚本中masm和Iink是汇编程序和连接程序,必需和edit程序以及你要编辑的源代码(当然还有这个脚本,废话!)一起在当前书目中。运用这个批处理脚本,可以最大
16、可能的削减手工输入,整个过程中只须要按几下回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能推断功能:假如汇编时源代码出现错误(汇编不胜利),则自动暂停显示错误信息,并在按随意键后自动进入编辑源代码界面;假如源代码汇编胜利,则进行连接,并在连接后自动执行生成的exe文件。另外,由于批处理吩咐的简洁性和敏捷性,这个脚本还具备良好的可改进性,简洁进行修改就可以符合不同挚友的上机习惯。正在学汇编的挚友,确定别忘了实习一下!在这个脚本中出现了如下几个吩咐:、echo、:、PaUSe、:和goto、%以及if。而这一章就将讲解并描述这儿个吩咐。1、这个符号大家都不生疏,email的必
17、备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理原来就离不开它,要不就不完备了。它的作用是让执行窗口中不显示它后面这一行的吩咐本身(多么绕口的一句话!)。呵呵,通俗一点说,行首有了它的话,这一行的吩咐就不显示了。在例五中,首行的ech。off中,的作用就是让脚本在执行时不显示后面的echoOff部分。这下懂了吧?还是不太懂?没关系,看完echo吩咐简介,自然就懂了。2、echo中文为反馈回显的意思。它其实是一个开关吩咐,就是说它只有两种状态:打开和关闭。于是就有了echoon和echooff两个吩咐了。干脆执行echo吩咐将显示当前echo吩咐状态(Off或On)执行echooff将关
18、闭回显,它后面的全部吩咐都不显示吩咐本身,只显示执行后的结果,除非执行echoOn吩咐。在例五中,首行的吩咐和echoOff吩咐联合起来,达到了两个目的:不显示CChoOff吩咐本身,不显示以后各行中的吩咐本身。的确是有点乱,但你要是练习一下的话,3分钟包会,不会的退钱!echo吩咐的另一种用法一:可以用它来显示信息!如例五中倒数其次行,DCfaUItBATfilenameisSTART.BAT将在脚本执行后的窗口中显示,而echo吩咐本身不显示(为什么?)oecho吩咐的另一种用法二:可以干脆编辑文本文件。例六:echonbtstat-A192.168.0.1a.batechonbtstat
19、-A192.168.0.2a.batechonbtstat-A192.168.0.3a.bat以上脚本内容的编辑方法是,干脆是吩咐行输入,每行一回车。最终就会在当前书目下生成一个a.bat的文件,干脆执行就会得到结果。3、:这个吩咐的作用很简洁,它是注释吩咐,在批处理脚本中和rcm吩咐等效。它后面的内容在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读性,和C语言中的/*切类似。地球人都能看懂,就不多说了。4、pause中文为皙停的意思(看看你的workman上),我始终认为它是批处理中最简洁的一个吩咐,单纯、好用。它的作用,是让当前程序进程暂停一下,并显示一行信息:请按随意
20、键接着在例五中这个吩咐运用了两次,第一次的作用是让运用者看清晰程序信息,其次个是显示错误的汇编代码信息(其实不是它想显示,而是masm程序在显示错误信息时被暂它停了,以便让你看清晰你的源代码错在哪里)。5、:和goto为什么要把这两个吩咐联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是个跳转吩咐,:是一个标签。当程序运行到goi。时,将自动跳转到:定义的部分去执行了(是不是分不开?)。例五中倒数第5行行首出现一个:,则程序在运行到goto时就自动跳转到:标签定义的部分执行,结果是显示脚本USage(USage就是标签名称)。不难看出,goto吩咐就是依据这个冒号和标
21、签名称来找寻它该跳转的地方,它们是一一对应的关系。goto吩咐也常常和if吩咐结合运用。至于这两个吩咐具体用法,参按例五。got。吩咐的另一种用法一:提前结束程序。在程序中间运用goto吩咐跳转到某一标签,而这一标签的内容却定义为退出。如:gotoend*:end这里:end在脚本最终一行!其实这个例子很弱智,后面讲了if吩咐和组合吩咐你就知道了。6、%这个百分号严格来说是算不上吩咐的,它只是批处理中的参数而已(多个%一起运用的状况除外,以后还将具体介绍),但千万别以为它只是参数就小看了它(看看例五中有多少地方用到它?),少了它批处理的功能就削减了5%了。看看例七:netuse%lipc$%3
22、/u:%2copy11.BATW%ladminSsystem32/ycopy13.BAT%ladmin$system32/ycopyipc2.BAT%1admin$system32/ycopyNWZI.EXE%1admin$system32/yattrib%ladmin$system3210.bat-r-h-s以上代码是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的USername,3%代表PaSSWord。执行形式为:脚本文件名参数一参数二。假设这个脚本被保存为a.bat,则执行形式如下:aIPusernamepasswords这里IP、usernamepassword
23、是三个参数,缺一不行(因为程序不能正确运行,并不是因为少了参数语法就不对)这样在脚本执行过程中,脚本就自动用用你的三个参数依次(记住,是依次!也是一一对应的关系。)代换1%、2%和3%这样就达到了敏捷运用的目的(试想,假如在脚本中干脆把IP、username和password都定义死,那么脚本的作用也就被固定了,但假如运用的话,不同的参数可以达到不同的目的,是不是更敏捷?)。关于这个参数的运用,在后续章节中还将介绍。确定要特别娴熟才行,这须要很多练习过程,须要下点狠工夫!这一章就写到这里了。可能有挚友问了:怎么没介绍if吩咐?呵呵,不是我忘了,而是它不简洁说清晰,下一章再讲了!这一章讲的这点东
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- bat 批处理 教程 超级 详细
链接地址:https://www.31ppt.com/p-7212089.html