没有合适的资源?快使用搜索试试~ 我知道了~
首页入门 bat 批处理 教程
资源详情
资源评论
资源推荐
这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就
能学到知识。写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可
以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品
一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远
的东西却又突然回到了眼前。
先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的----众多高
手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说
了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多
的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。或许你会因为这篇文章而
“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能
怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!
按照我的理解,批处理的本质,是一堆 DOS 命令按一定顺序排列而形成的集合。
OK,never claver and get to business(闲话少说言归正传)。批处理,也称为批处理脚本,
英文译为 BATCH,批处理文件后缀 BAT 就取的前三个字母。它的构成没有固定格式,只
要遵守以下这条就 ok 了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一
行开始执行,直到最后一行结束,它运行的平台是 DOS。批处理有一个很鲜明的素点:使
用方便、灵活,功能强大,自动化程度高。我不想让自己写的教程枯燥无味,因为牵缠到
代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代
码而静下心来。所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四
射的魅力,感受它那古灵精怪的姓格,不知不觉中爱上批处理(晕,怎么又是爱?到底批
处理和爱有什么关系?答案:没有!)。再说句“闲话”:要学好批处理, DOS 基础一定要
牢!当然脑子灵活也是很重要的一方面。
例一、先给出一个最 easy 的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为
name.bat 然后执行(以后文中只给出代码,保存和执行方式类似):
ping sz.tencent.com > a.txt
ping sz1.tencent.com >> a.txt
ping sz2.tencent.com >> a.txt
ping sz3.tencent.com >> a.txt
ping sz4.tencent.com >> a.txt
ping sz5.tencent.com >> a.txt
ping sz6.tencent.com >> a.txt
ping sz7.tencent.com >> a.txt
exit
是不是都能看的懂?是不是很 easy?但它的作用却是很实用的,执行这个批处理后,可以
在你的当前盘建立一个名为 a.txt 的文件,它里面记录的信息可以帮助你迅速找到速度最快
的 QQ 服务器,从而远离“从服务器中转”那一痛苦的过程。这里>的意思,是把前面命令得
到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出
的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个
a.txt 文件越来越大(想到如何搞破坏了??)。By the way,这个批处理还可以和其他命
令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器 IP,
是不是很爽?后面还将详细介绍。
例二、再给出一个已经过时的例子(a.bat):
@echo off
if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
a.bat
为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的 QQ 了
(KAO,我的 QQ 还显示好友三围呢!!),所以它几乎用不上了。但曾经它的作用是不
可小窥的:删除 QQ 的广告,让对话框干干净净。这里用的地址是 QQ 的默认安装地址,
默认批处理文件名为 a.bat,你当然可以根据情况自行修改。在这个脚本中使用了 if 命令,
使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的 DOS 窗
口,不按 CTRL+C 强行终止命令,它就一直监视是否有广告图片(QQ 也再不断查看自己
的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。
例三,使用批处理脚本查是否中冰河。脚本内容如下:
@echo off
netstat -a -n > a.txt
type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"
del a.txt
pause & exit
这里利用了 netstat 命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,
就能很 easy 的判断出来是否被人种了冰河。然这不是确定的,因为冰河默认的端口
7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍的是方法和思路稍做改
动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件
后,就变成自动检测所有木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合命令
&&和管道命令|,后面将详细介绍。
例四,借批处理自动清除系统垃圾,脚本如下:
@echo off
if exist c:\windows\temp\*.* del c:\windows\temp\*.*
if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1\*.*
if exist c:\windows\History\*.* del c:\windows\History\*.*
if exist c:\windows\recent\*.* del c:\windows\recent\*.*
将以上脚本内容保存到 autoexec.bat 里,每次开机时就把系统垃圾给自动删除了。这里需
要注意两点:一、DOS 不支持长文件名,所以就出现了 Tempor~1 这个东东;二、可根据
自己的实际情况进行改动,使其符合自己的要求。
怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱
上了这个东东?别高兴的双早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然
也能让你痛苦的想去跳楼。如果你知道很难还敢继续的话,I 服了 YOU!继续努力吧,也
许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱
的过程,就是如此。 酸、苦和辣,有没有甜天知道。
为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二
其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑
自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情
一比喻(爱情是什么?我**怎么知道!!),没准你心里一下就亮堂了,事半功倍,何乐
而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧
残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不
看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。
说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。
看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。但你
知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到
的。这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充
那叫单恋。废话!)而批处理却是一个人的遂堂,你可以为所欲为,没有达不到的境界!
批处理看起来杂乱无章,但它的逻辑姓之强,绝对不比其他程序语言(如汇编)低,如果
你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要
的结果,也许是一屏幕的 Bad command or fail name。这又和爱情有了共同点:按步骤来
经营,缺少或增多的步骤都可能导致不想看见的结果。陷入爱河的朋友,相信没有不肯定
这句话的。我的爱情批处理,输出的结果不是 Bad command or fail name,屏幕是这么显
示的:‘你的爱情’不是内部或外部命令,也不是可运行的程序或批处理文件。然后就是光标
不停闪动,等待这下一次错误的输入。
从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见 DOS 命令在批处理脚
本中有这广泛的应用,它们是批处理脚本的 BODY 部分,但批处理比 DOS 更灵活多样,
更具备自动化。要学好批处理,DOS 一定要有比较扎实的基础。这里只讲述一些比较少用
(相对来说)的 DOS 命令,常用命令如 COPY、DIR 等就不做介绍了(这些看似简单的命
令实际复杂的很,我怕自己都说不清楚!)。
例五,先看一个实例。这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动
化”的素点体现的淋漓尽致。先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)
的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入
很多东西,麻烦的很(只有经历过的朋友才懂得)。如何使这个过程变的简单呢?在我们
搞汇编课程设计时,我“被..”写了这个脚本,用起来很爽,呵呵。看看脚本内容:
@echo off
::close echo
cls
::clean screen
echo This programme is to make the MASM programme automate
::display info
echo Edit by CODERED
::display info
echo Mailto me : qqkiller***@sina.com
::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 pause & 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
先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写
的!!)。已经给出了每一行命令的解释,两个冒号后面的内容为前一行内容解释的 E 文
(害怕 E 文的朋友也不用担心,都很 easy,一看就懂了,实在不懂了不会查词典啊,这么
懒?),在脚本执行时不显示,也不起任何作用。倒数第 5 行行首有一个冒号,可不是笔
误哦!具体作用后面会详细讲到。此脚本中 masm 和 link 是汇编程序和连接程序,必须和
edit 程序以及你要编辑的源代码(当然还有这个脚本,废话!)一起在当前目录中。使用
这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下回车键,即可
实现从汇编源代码到可执行 exe 文件的自动化转换,并具备智能判断功能:如果汇编时源
代码出现错误(汇编不成功),则自动暂停显示错误信息,并在按任意键后自动进入编辑
源代码界面;如果源代码汇编成功,则进行连接,并在连接后自动执行生成的 exe 文件。
另外,由于批处理命令的简单姓和灵活姓,这个脚本还具备良好的可改进姓,简单进行修
改就可以符合不同朋友的上机习惯。正在学汇编的朋友,一定别忘了实习一下!
在这个脚本中出现了如下几个命令:@、echo、::、pause、:和 goto、%以及 if。而这一章
就将讲述这几个命令。
1、@
这个符号大家都不陌生,email 的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的
错,批处理本来就离不开它,要不就不完美了。它的作用是让执行窗口中不显示它后面这
一行的命令本身(多么绕口的一句话!)。呵呵,通俗一点说,行首有了它的话,这一行
的命令就不显示了。在例五中,首行的@echo off 中,@的作用就是让脚本在执行时不显
示后面的 echo off 部分。这下懂了吧?还是不太懂?没关系,看完 echo 命令简介,自然就
懂了。
2、echo
中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关
闭。于是就有了 echo on 和 echo off 两个命令了。直接执行 echo 命令将显示当前 echo 命
令状态(off 或 on)执行 echo off 将关闭回显,它后面的所有命令都不显示命令本身,只显
示执行后的结果,除非执行 echo on 命令。在例五中,首行的@命令和 echo off 命令联合
起来,达到了两个目的:不显示 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 >> a.bat
以上脚本内容的编辑方法是,直接是命令行输入,每行一回车。最后就会在当前目录下生
成一个 a.bat 的文件,直接执行就会得到结果。
3、::
这个命令的作用很简单,它是注释命令,在批处理脚本中和 rem 命令等效。它后面的内容
在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读姓,和 C 语
言中的/*…………*/类似。地球人都能看懂,就不多说了。
4、pause
中文为“暂停”的意思(看看你的 workman 上),我一直认为它是批处理中最简单的一个命
令,单纯、实用。它的作用,是让当前程序进程暂停一下,并显示一行信息:请按任意键
继续. . .。在例五中这个命令运用了两次,第一次的作用是让使用者看清楚程序信息,第二
个是显示错误的汇编代码信息(其实不是它想显示,而是 masm 程序在显示错误信息时被
剩余26页未读,继续阅读
yhuabao
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0