批处理

小引:
最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的worm.dvldr 蠕虫就是一个典型。这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的。病毒由几个文件和几个复杂的批处理组成。批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似。通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴趣,多多少少了解一些命令的用法,但缺乏比较系统的了解,所以特意写下这篇教程,好让感兴趣的朋友对批处理有个整体的认识,并能通过该教程举一反三,写出自己的批处理。
该教程一共分为4大部分,第一部分是批处理的专用命令,第二部分是特殊的符号与批处理,第三部分是批处理与变量,第四部分是完整案例。因为教程比较长,所有在杂志上我们将分为两次连载,本期首先刊登一、二两部分,敬请读者注意。
第一部分:批处理的专用命令
批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为bat。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、     rem
rem 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例:
rem 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都rem 会放在rem后面。请大家注意。
2、     echo
echo 是一个回显命令主要参数有off和 on,一般用echo message来显示一个特定的消息 。例:
echo off
rem 以上代表关闭回显即不显示所执行的命令
echo 这个就是消息。
rem 以上代表显示“这就是消息”这列字符
执行结果:
c:/>echo.bat
这个就是消息。
3、     goto
goto 即为跳转的意思。在批处理中允许以“:xxx”来构建一个标号然后用goto :标号直接来执行标号后的命令。例
:label
rem 上面就是名为label的标号。
dir c:/
dir d:/
goto label
rem 以上程序跳转标号label处继续执行。
4、call
call 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例:
批处理2.bat内容如下:
echo 这就是2的内容
批处理1.bat内容如下:
echo 这是1的内容
call 2.bat
echo 1和2的内容全部显示完成
执行结果如下:
      c:/>1.bat
      这是1的内容
  这就是2的内容
      1和2的内容全部显示完成
5、pause
pause 停止系统命令的执行并显示下面的内容。例:
c:/> pause
请按任意键继续 . . .
6、     if
if 条件判断语句,语法格式如下:
if [not] errorlevel number command
if [not] string1==string2 command
if [not] exist filename command
说明:
[not] 将返回的结果取反值即“如果没有”的意思。
errorlevel 是命令执行完成后返回的退出值
number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。
string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command
exist filename 为文件或目录存在的意思。
if errorlevel这条语句必须放在某一个命令后面。执行命令后由if errorlevel来判断命令的返回值。
例:
1、     if [not] errorlevel number command
检测命令执行完后的返回值做出判断。
echo off
dir z:
rem 如果退出代码为1(不成功)就跳至标题1处执行
if errorlevel 1 goto 1
rem 如果退出代码为0(成功)就跳至标题0处执行
if errorlevel 0 goto 0
:0
echo 命令执行成功!
rem 程序执行完毕跳至标题exit处退出
goto exit
:1
echo 命令执行失败!
rem 程序执行完毕跳至标题exit处退出
goto exit
:exit
rem 这里是程序的出口
2、     if string1==string2 command
检测当前变量的值做出判断
echo off
if %1==2 goto no
echo 变量相等!
goto exit
:no
echo 变量不相等
goto exit
:exit
大家可以这样看效果 c:/>test.bat 数字
3、     if [not] exist filename command
发现特定的文件做出判断
echo off
if not exist autoexec.bat goto 1
echo 文件存在成功!
goto exit
:1
echo 文件不存在失败!
goto exit
:exit
这个批处理大家可以放在c盘和d盘分别执行看看效果。
  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值