没有合适的资源?快使用搜索试试~ 我知道了~
批处理教程,包含的方面较多一些。
资源推荐
资源详情
资源评论
十分经典的批处理教程
这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思 , 只
要你识字就能看懂 , 就能学到知识 。 写这篇教程的目的 , 是让每一个看过这些文
字的朋友记住一句话 : 如果爱可以让事情变的更简单 , 那么就让它简单吧 ! 看这
篇教程的方法 , 就是慢 ! 慢慢的 , 如同品一个女人 、 一杯茗茶 , 你会发现很多以
前就在眼前的东西突然变的很遥远 , 而有些很遥远的东西却又突然回到了眼前 。 .
先概述一下批处理是个什么东东 。 批处理的定义 , 至今我也没能给出一个
合适的 ---- 众多高手们也都没给出 ---- 反正我不知道 ---- 看了我也不一定信服
---- 我是个菜鸟 , 当然就更不用说了 ; 但我想总结出一个 " 比较合适的 " , 而且我
也相信自己可以把它解释的很清楚 , 让更多的菜鸟都知道这是个什么东东 , 你用
这个东东可以干什么事情 。 或许你会因为这篇文章而 " 无条件爱上批处理 " , 那么
我的目的就达到了 ---- 我就是要让你爱上它 , 我就这么拽 , 你能怎么着??真的
,
爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!
按照我的理解 , 批处理的本质 , 是一堆 DOS 命令按一定顺序排列而形成的
集合。
OK,never claver and get to business ( 闲话少说言归正传 ) 。 批处理
,
也称为批处理脚本,英文译为 BATCH ,批处理文件后缀 BAT 就取的前三个字母
。
它的构成没有固定格式,只要遵守以下这条就 ok 了:每一行可视为一个命令,
每个命令里可以含多条子命令 , 从第一行开始执行 , 直到最后一行结束 , 它运行
的平台是 DOS 。 批处理有一个很鲜明的特点 : 使用方便 、 灵活 , 功能强大 , 自动
化程度高 。 我不想让自己写的教程枯燥无味 , 因为牵缠到代码 ( 批处理的内容算
是代码吧? ) 的问题本来就是枯燥的 , 很少有人能面对满屏幕的代码而静下心来
。
所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的
魅力 , 感受它那古灵精怪的性格 , 不知不觉中爱上批处理 ( 晕 , 怎么又是爱?到
底批处理和爱有什么关系?答案 : 没有 ! ) 。 再说句 " 闲话 " : 要学好批处理 , DO S
基础一定要牢!当然脑子灵活也是很重要的一方面。
例一 、 先给出一个最 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\T
encent\AD\*.gif
为什么说这是个过时的例子呢?很简单 , 因为现在已经几乎没有人用带
广告的 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 , 屏幕是这么显示的 : ‘ 你的爱情 ' 不是内
部或外部命令,也不是可运行的程序或批处理文件。然后就是光标不停闪动 , 等
待这下一次错误的输入。
从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见 DO S
命令在批处理脚本中有这广泛的应用,它们是批处理脚本的 BODY 部分,但批处
理比 DOS 更灵活多样 , 更具备自动化 。 要学好批处理 , DOS 一定要有比较扎实的
基础。这里只讲述一些比较少用(相对来说)的 DOS 命令,常用命令如 COPY 、 D
IR 等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清
楚!)。
例五 , 先看一个实例 。 这是一个很有意思的脚本 , 一个小巧实用的好东东 , 把批
处理 " 自动化 " 的特点体现的淋漓尽致 。 先介绍一下这个脚本的来历 : 大家都知道
汇编程序( MASM )的上机过程,先要对源代码进行汇编、连接,然后再执行 , 而
这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)
。
如何使这个过程变的简单呢?在我们搞汇编课程设计时,我 " 被逼 " 写了这个脚
本,用起来很爽,呵呵。看看脚本内容:
@echo off
::close echo
cls
::clean screen
echo This programme is to make the MASM programme autom
ate
::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 o
ff 中 , @ 的作用就是让脚本在执行时不显示后面的 echo off 部分 。 这下懂了吧?
还是不太懂?没关系,看完 echo 命令简介,自然就懂了。
------------------------------------------
2 、 echo
中文为 " 反馈 " 、 " 回显 " 的意思 。 它其实是一个开关命令 , 就是说它只有两
种状态:打开和关闭。于是就有了 echo on 和 echo off 两个命令了。
直接执行 echo 命令将显示当前 echo 命令状态 ( off 或 on ) 执行 echo of
f 将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果 , 除
非执行 echo on 命令 。 在例五中 , 首行的 @ 命令和 echo off 命令联合起来 , 达到
了两个目的:不显示 echo off 命令本身,不显示以后各行中的命令本身。的确
是有点乱,但你要是练习一下的话, 3 分钟包会,不会的退钱!
echo 命令的另一种用法
一 : 可以用它来显示信息 ! 如例五中倒数第二行 , Default BAT file name is S
TART.BAT 将在脚本执行后的窗口中显示 , 而 echo 命令本身不显示 ( 为么?? )
。
二:可以直接编辑文本文件。例六:
剩余84页未读,继续阅读
资源评论
「已注销」
- 粉丝: 8
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自学文档,用于自己学习
- asp代码ASP考试成绩分析系统的设计与实现(源代码+论文)
- openssh-9.7p1-1.ky10.aarch64-no-ssh-copy-id.tgz
- asp代码ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)
- asp代码ASP局域网文件共享及检索系统的设计与开发(源代码+论文)
- asp代码ASP酒店预定管理系统设计(论文+源代码+开题报告)
- javaweb毕业设计-学生住宿管理系统JAVA(可做课程设计).rar
- asp代码ASP教师信息管理系统设计(源代码+论文)
- c语言链表的基本操作实现
- python冒泡排序(Bubble Sort).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功