ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:46.11KB ,
资源ID:6204012      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6204012.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(批处理经典入门教程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

批处理经典入门教程.docx

1、批处理经典入门教程批处理经典入门教程!(从不懂到高手)这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。写这篇教程 的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的 方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远 的东西却又突然回到了眼前。. 先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的-众多高手们也都没给出-反正我不 知道-看了我也不一定信服-我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,

2、而且我也相信自 己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。或许你会因为这篇文章 而“无条件爱上批处理”,那么我的目的就达到了-我就是要让你爱上它,我就这么拽,你能怎么着?真的,爱有时 候就这么拽,就是这么没理由,就是这么不要脸!真的! 按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 OK,never claver and get to business(闲话少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文 件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令

3、,每个命令里 可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方 便、灵活,功能强大,自动化程度高。我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?) 的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。所以我会用很多简单实用的例子让读这篇教程的朋友 去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有 什么关系?答案:没有!)。再说句“闲话”:要学好批处理,DOS基础一定要牢!当然脑子灵活也是很重要的一方面。 例一、先给出一个最easy的批处理脚本让大

4、家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给 出代码,保存和执行方式类似): ping a.txt ping a.txt ping a.txt ping a.txt ping a.txt ping a.txt ping a.txt ping a.txt exit 是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为 a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程 。这里的意思,是把前面命令得到的东西放到后面所给的地方,的作用,和的相同,区别是把

5、结果追加到前一行得出 的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何 搞破坏了?)。By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接 显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。 例二、再给出一个已经过时的例子(a.bat): echo off if exist C:Progra1TencentAD*.gif del C:Progra1TencentAD*.gif a.bat 为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ

6、还显示好友三围呢! ),所以它几乎用不上了。但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认 安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适 时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有 广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。 例三,使用批处理脚本查是否中冰河。脚本内容如下: echo off netstat -a -n a.txt type a.txt | find 762

7、6 & echo Congratulations! You have infected GLACIER! del a.txt pause & exit 这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否 被人种了冰河。然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍 的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变 成自动检测所有木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合命令&和管道命令|,后面将详细介绍。 例四,

8、借批处理自动清除系统垃圾,脚本如下: echo off if exist c:windowstemp*.* del c:windowstemp*.* if exist c:windowsTempor1*.* del c:windowsTempor1*.* if exist c:windowsHistory*.* del c:windowsHistory*.* if exist c:windowsrecent*.* del c:windowsrecent*.* 将以上脚本内容保存到autoexec.bat里,每次开机时就把系统垃圾给自动删除了。这里需要注意两点:一、DOS不支持长 文件名,所以就

9、出现了Tempor1这个东东;二、可根据自己的实际情况进行改动,使其符合自己的要求。 怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱上了这个东东?别高兴的太早, 爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。如果你知道很难还敢继续的话,I 服 了 YOU!继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程 ,就是如此。 酸、苦和辣,有没有甜天知道。 为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二:其一,批处理和爱情有很多相 同的地方,有些地方我用“专业”的

10、行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没 说,但用地球人都知道的爱情一比喻(爱情是什么?我*怎么知道!),没准你心里一下就亮堂了,事半功倍,何乐而 不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际 感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果-不至于让你看着看着就睡着了,把头磕 了来找我报销医药费)。说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。 看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。但你知道运用批处理的精髓在哪里吗 ?其实

11、很简单:思路要灵活!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个人的世界, 一厢情愿不叫爱情(补充:那叫单恋。废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界! 批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每 一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad command or fail name。这又和爱 情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。陷入爱河的朋友,相信没有不肯定这句话 的。我的爱情批处理,输出的结果不是Bad co

12、mmand or fail name,屏幕是这么显示的:你的爱情不是内部或外部命 令,也不是可运行的程序或批处理文件。然后就是光标不停闪动,等待这下一次错误的输入。 从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处 理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。要学好批处理,DOS一定要有比较扎实的基础。这里只讲 述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我 怕自己都说不清楚!)。 例五,先看一个实例。这是一个很有意思的脚本,一个小巧实用的好东东

13、,把批处理“自动化”的特点体现的淋漓尽致。 先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而 这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。如何使这个过程变的简单呢?在我们搞汇 编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。看看脚本内容: echo off :close echo cls :clean screen echo This programme is to make the MASM programme automate :display info echo Edit by CODERED

14、 :display info echo Mailto me : qqkiller* :display info if %1= goto usage :if input without paramater goto usage if %1=/? goto usage :if paramater is /? goto usage if %1=help goto usage :if paramater is help goto usage pause :pause to see usage masm %1.asm :assemble the .asm code if errorlevel 1 pau

15、se & edit %1.asm :if error pause to see error msg and edit the code link %1.obj & %1 :else link the .obj file and execute the .exe file :usage :set usage echo Usage: This BAT file name asm file name echo Default BAT file name is START.BAT :display usage 先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!)。已经给

16、出了每一行命 令的解释,两个冒号后面的内容为前一行内容解释的E文(害怕E文的朋友也不用担心,都很easy,一看就懂了,实在不懂 了不会查词典啊,这么懒?),在脚本执行时不显示,也不起任何作用。倒数第5行行首有一个冒号,可不是笔误哦!具 体作用后面会详细讲到。此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源代码(当然还有 这个脚本,废话!)一起在当前目录中。使用这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下 回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能判断功能:如果汇编时源代码出现错误(汇 编不成功),则自动暂停显示

17、错误信息,并在按任意键后自动进入编辑源代码界面;如果源代码汇编成功,则进行连接, 并在连接后自动执行生成的exe文件。另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单 进行修改就可以符合不同朋友的上机习惯。正在学汇编的朋友,一定别忘了实习一下! 在这个脚本中出现了如下几个命令:、echo、:、pause、:和goto、%以及if。而这一章就将讲述这几个命令。 1、 这个符号大家都不陌生,email的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理本来就离不开它,要 不就不完美了。它的作用是让执行窗口中不显示它后面这一行的命令本身(多么绕口的一句话!)。呵呵,通

18、俗一点说, 行首有了它的话,这一行的命令就不显示了。在例五中,首行的echo off中,的作用就是让脚本在执行时不显示后面的 echo off部分。这下懂了吧?还是不太懂?没关系,看完echo命令简介,自然就懂了。 2、echo 中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on 和echo off两个命令了。直接执行echo命令将显示当前echo命令状态(off或on)执行echo off将关闭回显,它后面的所 有命令都不显示命令本身,只显示执行后的结果,除非执行echo on命令。在例五中,首行的命令和echo off命令联合起

19、 来,达到了两个目的:不显示echo off命令本身,不显示以后各行中的命令本身。的确是有点乱,但你要是练习一下的话 ,3分钟包会,不会的退钱! echo命令的另一种用法一:可以用它来显示信息!如例五中倒数第二行,Default BAT file name is START.BAT将在脚本 执行后的窗口中显示,而echo命令本身不显示(为什么?)。 echo命令的另一种用法二:可以直接编辑文本文件。例六: echo nbtstat -A 192.168.0.1 a.bat echo nbtstat -A 192.168.0.2 a.bat echo nbtstat -A 192.168.0.3

20、 a.bat 以上脚本内容的编辑方法是,直接是命令行输入,每行一回车。最后就会在当前目录下生成一个a.bat的文件,直接执行 就会得到结果。 3、: 这个命令的作用很简单,它是注释命令,在批处理脚本中和rem命令等效。它后面的内容在执行时不显示,也不起任何作 用,因为它只是注释,只是增加了脚本的可读性,和C语言中的/*/类似。地球人都能看懂,就不多说了。 4、pause 中文为“暂停”的意思(看看你的workman上),我一直认为它是批处理中最简单的一个命令,单纯、实用。它的作用, 是让当前程序进程暂停一下,并显示一行信息:请按任意键继续. . .。在例五中这个命令运用了两次,第一次的作用是

21、让使用者看清楚程序信息,第二个是显示错误的汇编代码信息(其实不是它想显示,而是masm程序在显示错误信息时被暂 它停了,以便让你看清楚你的源代码错在哪里)。 5、:和goto 为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是个跳转命令,: 是一个标签。当程序运行到goto时,将自动跳转到:定义的部分去执行了(是不是分不开?)。例五中倒数第5行行首出现 一个:,则程序在运行到goto时就自动跳转到:标签定义的部分执行,结果是显示脚本usage(usage就是标签名称)。不难 看出,goto命令就是根据这个冒号和标签名称来寻找它该跳转的地方,它们是一

22、一对应的关系。goto命令也经常和if命令 结合使用。至于这两个命令具体用法,参照例五。 goto命令的另一种用法一:提前结束程序。在程序中间使用goto命令跳转到某一标签,而这一标签的内容却定义为退出。 如: goto end :end 这里:end在脚本最后一行!其实这个例子很弱智,后面讲了if命令和组合命令你就知道了。 6、% 这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外,以后还将详细介绍), 但千万别以为它只是参数就小看了它(看看例五中有多少地方用到它?),少了它批处理的功能就减少了51%了。看看例 七: net use %1ipc$ %3 /u

23、:%2 copy 11.BAT %1admin$system32 /y copy 13.BAT %1admin$system32 /y copy ipc2.BAT %1admin$system32 /y copy NWZI.EXE %1admin$system32 /y attrib %1admin$system32.bat -r -h -s 以上代码是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表password。执行形式为:脚本文件 名 参数一 参数二 。假设这个脚本被保存为a.bat,则执行形式如下:a IP username passwo

24、rd。这里IP、username 、password是三个参数,缺一不可(因为程序不能正确运行,并不是因为少了参数语法就不对)这样在脚本执行过程中, 脚本就自动用用你的三个参数依次(记住,是依次!也是一一对应的关系。)代换1%、2%和3%,这样就达到了灵活运用的 目的(试想,如果在脚本中直接把IP、username和password都定义死,那么脚本的作用也就被固定了,但如果使用%的话 ,不同的参数可以达到不同的目的,是不是更灵活?)。 关于这个参数的使用,在后续章节中还将介绍。一定要非常熟练才行,这需要很多练习过程,需要下点狠工夫! 这一章就写到这里了。可能有朋友问了:怎么没介绍if命令?呵

25、呵,不是我忘了,而是它不容易说清楚,下一章再讲了! 这一章讲的这点东西,如果你是初学者,恐怕也够消化的了。记住一句话:DOS是批处理的BODY,任何一个DOS命令都可以 被用在批处理脚本中去完成特定的功能。到这里,你是否已经想到了用自己肚子里的东西去写点带有自动化色彩的东东呢 ?很简单,就是一个DOS命令的集合而已,相信自称为天才的你已经会把计算机等级考试上机试题中的DOS部分用批处理来 自动化完成了。 烦!就好象一个半老女人到了更年期,什么事都想唠叨几句,什么事都感到不舒服,看谁谁不爽。明知山有虎,偏向虎山 行,最后留下一身伤痕无功而返时,才发现自己竟然如此脆弱,如此渺小,如此不堪一击。徘徊

26、在崩溃的边缘,突然回想 起了自己最后一次扁人的那一刻,还真有点怀念(其实我很不喜欢扁人,更不喜欢被人扁)。我需要发泄,我用手指拼命 的敲打着键盘,在一阵接一阵有节奏的声音中,屏幕上出现了上面的这些文字。可难道这就是发泄的另一种方式吗?中国 人还是厉害,早在几千年前孔老夫子就说过“唯女子与小人,难养也”,真*有先见之明,佩服!虽然是在发泄,不过大 家请放心,以我的脾气,既然决定写这篇教程,就一定会尽力去写好,写完美,绝对不给自己留下遗憾,要不这教程就不 是我写的! 曾经有一篇经典的批处理教程出现在你的屏幕上,你没有保存,直到找不到它的链接你才后悔莫及,人世间最大的痛苦莫 过于此。如果上天能给你一

27、个再看一次的机会,你会对那篇教程说三个字:我爱你!如果非要给这份爱加上一个期限,你 希望是100年。因为100年后,你恐怕早已经挂了!而现在,你的屏幕上出现了这篇你正在看的批处理教程,虽然不如你曾 经看的那篇经典,但如果勉强还过的去。你会爱它吗?时间会有50年那么长吗?答案是:试试看吧。 批处理脚本中最重要的几个命令,将在这一章详细介绍,但是很遗憾,有些细节到现在我都没掌握的很好,甚至还有些生 分。如同还不太懂得爱一样。但我一直都在努力,即使一直都没有收获。所以可能讲的会比较笼统,但我会告诉你方法, 剩下的就是时间问题了,需要自己去磨练。让我们共同努力吧。冰冻三尺非一日之寒,滴水穿石非一日之功

28、。有些事情, 比如学批处理,比如爱一个人,都是不能速成的,甚至还会有付出艰辛而收获为甚微的情况。再次重申,看这篇教程的时 候,一定要静下心来,除非你已经掌握了这篇教程的所有东西-但那也就不必看了,浪费时间! 7、if 接上一章,接着讲if命令。总的来说,if命令是一个表示判断的命令,根据得出的每一个结果,它都可以对应一个相应的 好啊作。关于它的三种用法,在这里分开讲。 (1)、输入判断。还是用例五里面的那几句吧: if %1= goto usage if %1=/? goto usage if %1=help goto usage 这里判断输入的参数情况,如果参数为空(无参数),则跳转到usa

29、ge;如果参数为/?或help时(大家一般看一个命令的 帮助,是不是输入的/?或help呢,这里这么做只是为了让这个脚本看起来更像一个真正的程序),也跳转到usage。这里 还可以用否定形式来表示“不等于”,例如:if not %1= goto usage,则表示如果输入参数不为空就跳转到usage (实际中这样做就没意义了,这里介绍用法,管不了那么多了,呵呵。)是不是很简单?其实翻译成中文体会一下就 understand了。 (2)、存在判断。再看例二里这句: if exist C:Progra1TencentAD*.gif del C:Progra1TencentAD*.gif 如果存在那

30、些gif文件,就删除这些文件。当然还有例四,都是一样的道理。注意,这里的条件判断是判断存在的,当然 也可以判断不存在的,例如下面这句“如果不存在那些gif文件则退出脚本”:if not exist C:Progra1 TencentAD*.gif exit。只是多一个not来表示否定而已。 (3)、结果判断。还是拿例五开刀(没想到自己写的脚本,竟然用处这么大,呵呵): masm %1.asm if errorlevel 1 pause & edit %1.asm link %1.obj 先对源代码进行汇编,如果失败则暂停显示错误信息,并在按任意键后自动进入编辑界面;否则用link程序连接生成的 obj文件。这里只介绍一下和if命令有关的地方,&命令后面会讲到。这种用法是先判断前一个命令执行后的返回码(也叫 错误码,DOS程序在运行完后都有返回码),如果和定义的错误码符合(这里定义的错误码为1),则执行相应的好啊作( 这里相应的好啊作为pause & edit %1.asm部分)。 另外,和其他两种用法一样,这种用法也可以表示

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1