简明批处理教程
上一篇 / 下一篇 2007-01-26 13:33:22 / 个人分类:SoftTest
最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古语云:“授人以鱼,不如授人以渔。”因为网上好像并没有一个比较完整的教材,所以抽一点时间写了这片<<简明批处理教程>>给新手朋友们.也献给所有为实现网络的自由与共享而努力的朋友们.51Testing软件测试网5Vnyo7y2x.x5pB4g
/} u0k5~w)M051Testing软件测试网I3d[jjh?fu*s
51Testing软件测试网d b!z%a)\_ p+B
批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧。51Testing软件测试网2AKCxrZ6r
:H;y{ G Z9xY0
%ku)YB;`w051Testing软件测试网#]6fqa/^ Q"|MH
一.简单批处理内部命令简介
C'BN5YS1NG0
"n-x6r*~ EO-V051Testing软件测试网Dbn+R-~
2yOd)p'h2d5a-s` d01.Echo 命令51Testing软件测试网$[S8xBs9uP
51Testing软件测试网MbZ8t2[,\ I@
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。51Testing软件测试网#H!T}W'gs
5S4U!U6MkRp T"\0语法51Testing软件测试网Q-yN1q$By&l a
51Testing软件测试网.Ru/~)Hsz
echo [{on|off}] [message]
,ugvA \ T051Testing软件测试网'd!d,]!H p P@'`
Sample:@echo off / echo hello world
+U6L E"R;|U|c _051Testing软件测试网mCf9hG2Tu"S+s
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。51Testing软件测试网8J9X%GWu~&R
51Testing软件测试网U0PCP.u%E
51Testing软件测试网a_@1tG]P ^k
o8ME#i\k02.@ 命令51Testing软件测试网!p#V,\%G6X BF xW2W
pWh6q&]t(gz/`%i h0表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
)g(Y!a;hE)_B'N4h0
-|}6tQ[ Zu.Y0Sample:@echo off51Testing软件测试网 K&ze.m(S&pf
#Tp-G+l0Il0@echo Now initializing the program,please wait a minite...
X&X8F/l#M R]e051Testing软件测试网|vm keK^w*h3`
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)51Testing软件测试网"z%bNe`Oy${MoK
51Testing软件测试网T| u9l2a6c {2q ~
51Testing软件测试网VXx"P x Bz0F E`j0M
.yXyQ6so"E"?]03.Goto 命令51Testing软件测试网 h1fh4D"J]5rL
51Testing软件测试网0Z's _[] T5{M
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
Le Y4o)E*R%gH4R;x0
JMAT.{R$AR0语法:goto label (label是参数,指定所要转向的批处理程序中的行。)51Testing软件测试网@Iw{9W|
51Testing软件测试网oss.\nf+Ik
Sample:51Testing软件测试网g%b+LXzv
51Testing软件测试网3]Z3R9C5@?x
if {%1}=={} goto noparms
X|#^%f)F R0
-BXZF \ x#]2s0Kp0if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
-B+L6R y"@B051Testing软件测试网;P(YEn_7qxZ/{
@Rem check parameters if null show usage51Testing软件测试网BEY2|e;W3O
y(_%Yd%K5Z)o0:noparms51Testing软件测试网Op3s k$IO]+vVy
51Testing软件测试网T'IJ!E2JEp/e4W0|
echo Usage: monitor.bat ServerIP PortNumber
kg9s:euyC0?!s051Testing软件测试网+N*K fW/{F#`:Z e
goto end
$U$GYsBR-DDt051Testing软件测试网'sLTx_0Vy
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。51Testing软件测试网i,i` b)F,PK N
~&ym1e eS051Testing软件测试网VWlQ4][
1GpR9X,?y3fK#GV04.Rem 命令
y&Gj7px j051Testing软件测试网:]lDT6zi"d!_de W4p
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
J?q }4s?6ILl051Testing软件测试网4R2sH n{ N]%t
Rem Message
N-RRwQXV0
Q,}UB#fJ0Sample:@Rem Here is the descrīption.51Testing软件测试网'd4Mg ~,no7e
|a0QNRK9N051Testing软件测试网C ?Mb)y;cO
51Testing软件测试网E1}0X$EO3T?
5.Pause 命令51Testing软件测试网K#y KETc
51Testing软件测试网^r Md.Bm _;w(L^"W'u
运行 Pause 命令时,将显示下面的消息:
X,eLL3X!H!vn^051Testing软件测试网}~ Wdl}Us1^r
Press any key to continue . . .51Testing软件测试网Q&}A%wMcA\+M"wxf1_
51Testing软件测试网b6q7apl
Sample:51Testing软件测试网#IP|s$K K
51Testing软件测试网4O,DJG)BQ`n
@echo off51Testing软件测试网0B@TB1@+EYe.SPs
51Testing软件测试网BiDKm])b
:begin
lX;Ger;k(j!_0
wD-] F(G;c@7l$}0copy a:*.* d:\back51Testing软件测试网7c#sd(a DwU7X |;kj
-HMtf+xE0echo Please put a new disk into driver A51Testing软件测试网)Km*Za0QX9W
4E$C\.R8XP+wO0pause
Q$L}+K!A6_'G l4Y;i4@051Testing软件测试网8zzDd(Kt ~g
goto begin
q;q5} d\sJ0
?r+NH4Eya%C1V0在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。51Testing软件测试网$UzVQw+g[_z#b8{D
2Ob2Geh;{W051Testing软件测试网){:wNuV#S6L0j c7v
1B(r-H+`4ZF1W06.Call 命令
.mhH_Sz;^'u0
/} u0k5~w)M051Testing软件测试网I3d[jjh?fu*s
51Testing软件测试网d b!z%a)\_ p+B
批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧。51Testing软件测试网2AKCxrZ6r
:H;y{ G Z9xY0
%ku)YB;`w051Testing软件测试网#]6fqa/^ Q"|MH
一.简单批处理内部命令简介
C'BN5YS1NG0
"n-x6r*~ EO-V051Testing软件测试网Dbn+R-~
2yOd)p'h2d5a-s` d01.Echo 命令51Testing软件测试网$[S8xBs9uP
51Testing软件测试网MbZ8t2[,\ I@
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。51Testing软件测试网#H!T}W'gs
5S4U!U6MkRp T"\0语法51Testing软件测试网Q-yN1q$By&l a
51Testing软件测试网.Ru/~)Hsz
echo [{on|off}] [message]
,ugvA \ T051Testing软件测试网'd!d,]!H p P@'`
Sample:@echo off / echo hello world
+U6L E"R;|U|c _051Testing软件测试网mCf9hG2Tu"S+s
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。51Testing软件测试网8J9X%GWu~&R
51Testing软件测试网U0PCP.u%E
51Testing软件测试网a_@1tG]P ^k
o8ME#i\k02.@ 命令51Testing软件测试网!p#V,\%G6X BF xW2W
pWh6q&]t(gz/`%i h0表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
)g(Y!a;hE)_B'N4h0
-|}6tQ[ Zu.Y0Sample:@echo off51Testing软件测试网 K&ze.m(S&pf
#Tp-G+l0Il0@echo Now initializing the program,please wait a minite...
X&X8F/l#M R]e051Testing软件测试网|vm keK^w*h3`
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)51Testing软件测试网"z%bNe`Oy${MoK
51Testing软件测试网T| u9l2a6c {2q ~
51Testing软件测试网VXx"P x Bz0F E`j0M
.yXyQ6so"E"?]03.Goto 命令51Testing软件测试网 h1fh4D"J]5rL
51Testing软件测试网0Z's _[] T5{M
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
Le Y4o)E*R%gH4R;x0
JMAT.{R$AR0语法:goto label (label是参数,指定所要转向的批处理程序中的行。)51Testing软件测试网@Iw{9W|
51Testing软件测试网oss.\nf+Ik
Sample:51Testing软件测试网g%b+LXzv
51Testing软件测试网3]Z3R9C5@?x
if {%1}=={} goto noparms
X|#^%f)F R0
-BXZF \ x#]2s0Kp0if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
-B+L6R y"@B051Testing软件测试网;P(YEn_7qxZ/{
@Rem check parameters if null show usage51Testing软件测试网BEY2|e;W3O
y(_%Yd%K5Z)o0:noparms51Testing软件测试网Op3s k$IO]+vVy
51Testing软件测试网T'IJ!E2JEp/e4W0|
echo Usage: monitor.bat ServerIP PortNumber
kg9s:euyC0?!s051Testing软件测试网+N*K fW/{F#`:Z e
goto end
$U$GYsBR-DDt051Testing软件测试网'sLTx_0Vy
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。51Testing软件测试网i,i` b)F,PK N
~&ym1e eS051Testing软件测试网VWlQ4][
1GpR9X,?y3fK#GV04.Rem 命令
y&Gj7px j051Testing软件测试网:]lDT6zi"d!_de W4p
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
J?q }4s?6ILl051Testing软件测试网4R2sH n{ N]%t
Rem Message
N-RRwQXV0
Q,}UB#fJ0Sample:@Rem Here is the descrīption.51Testing软件测试网'd4Mg ~,no7e
|a0QNRK9N051Testing软件测试网C ?Mb)y;cO
51Testing软件测试网E1}0X$EO3T?
5.Pause 命令51Testing软件测试网K#y KETc
51Testing软件测试网^r Md.Bm _;w(L^"W'u
运行 Pause 命令时,将显示下面的消息:
X,eLL3X!H!vn^051Testing软件测试网}~ Wdl}Us1^r
Press any key to continue . . .51Testing软件测试网Q&}A%wMcA\+M"wxf1_
51Testing软件测试网b6q7apl
Sample:51Testing软件测试网#IP|s$K K
51Testing软件测试网4O,DJG)BQ`n
@echo off51Testing软件测试网0B@TB1@+EYe.SPs
51Testing软件测试网BiDKm])b
:begin
lX;Ger;k(j!_0
wD-] F(G;c@7l$}0copy a:*.* d:\back51Testing软件测试网7c#sd(a DwU7X |;kj
-HMtf+xE0echo Please put a new disk into driver A51Testing软件测试网)Km*Za0QX9W
4E$C\.R8XP+wO0pause
Q$L}+K!A6_'G l4Y;i4@051Testing软件测试网8zzDd(Kt ~g
goto begin
q;q5} d\sJ0
?r+NH4Eya%C1V0在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。51Testing软件测试网$UzVQw+g[_z#b8{D
2Ob2Geh;{W051Testing软件测试网){:wNuV#S6L0j c7v
1B(r-H+`4ZF1W06.Call 命令
.mhH_Sz;^'u0