For



һļеÿļָ


﷨



for {%variable|%%variable} in (set) do command [  CommandLineOptions]






	{%variable|%%variable}

	衣滻Ĳʹ %variable ͨʾִ for ʹ %%variable ļִ for ҪִСдұ Alpha ֵʾ磬%A%B  %C

	(set)

	衣ָҪָһļĿ¼ֵΧԼıַҪš

	command

	衣ָҪ԰ָ (set) еÿļĿ¼ֵΧԼıִַе

	CommandLineOptions

	ָҪָͨʹõκѡ
/?ʾʾ




ע


ʹ for

ļлֱӴʾʹ for 
    
 ʹ
	
 for 
	
		 for ʹָ set еÿıַ滻 %variable  %%variableֱ command ļΪֹ
		
		 סfor variableִСдȫֵģÿܹ 52 ǻġ
		
		 Ҫ %0  %9  variable ʹó 0  9 ֮κַڼ򵥵ļַЧ %%f
		
		 ڸӵļпʹ variable ĶֲֵͬĿ滻
		
	
	
	ʾһļ

set Դļ顣ʹͨ*  ?ָļ顣ΪЧļ飺 

(*.doc)

(*.doc *.txt *.me)

(jan*.doc jan*.rpt feb*.doc feb*.rpt)

(ar??1991.* ap??1991.*)


ʹ for ʱset еĵһֵ %variable  %%variableȻָֵһֱȥֱ set ֵӦļļ飩Ϊֹ
	
	 ʹ in  do ؼ
	
In  do ǲ뽫 for һʹáʡκһؼ֣ͻִϢ
	
	 ʹ for ʽ
	
 չ״̬Ĭã֧ for ʽ


ΪĿ¼

  set ͨ*  ?Ϊƥ set ÿĿ¼ָĿ¼еļ飩ִָ command﷨ǣ 

 for /D {%% | %}variable in (set) do command [CommandLineOptions] 

ݹ

 Ŀ¼ [Drive:]PathÿĿ¼ִ for 䡣 /R ûָĿ¼ٶΪǰĿ¼ set ֻһ (.)ֻоĿ¼﷨ǣ 

 for /R [[Drive :]Path] {%% | %}variable in (set) do command [CommandLineOptions]

ظֵΧ

ʹõʼֵ (start#) Ȼһִһϵ÷Χֱֵֵõֵֹ (end#)/L ͨ start#  end# бȽϣִе start# С end#ͻִи end#ͳ˳ѭҲʹø step# Եݼֵķʽһִд˷Χڵֵ磬(1,1,5) ˳ 1 2 3 4 5 (5,-1,1) ˳ (5 4 3 2 1)﷨ǣ 

 for /L {%% | %}variable in (start#,step#,end#) do command [CommandLineOptions]

ظļ

 ʹļ̴ַļݡʹõҪݻַԼʹø ParsingKeywords ѡһ޸Ľʽʹ ParsingKeywords ѡָЩӦôΪע⣺ûʹѡʱ/F һơ


ļ̰ȡַļݡֳɶıмȻÿнơȻͨΪƵĵֵ for ѭĬ£/F ÿļÿһеĵһհ׷ָšС﷨ĲͬΪ

 for /F ["ParsingKeywords"] {%% | %}variable in (filenameset) do command [CommandLineOptions]

 for /F ["ParsingKeywords"] {%% | %}variable in ("LiteralString") do command [CommandLineOptions]

 for /F ["ParsingKeywords"] {%% | %}variable in ('command') do command [CommandLineOptions]


 filenameset ָһļơڼ filenameset еһļ֮ǰÿļᱻ򿪡ȡʹҪĬϽΪָ "ParsingKeywords"һַһؼָͬĽѡ



ʹ usebackq ѡʹ﷨֮һ

 for /F ["usebackqParsingKeywords"] {%% | %}variable in ("filenameset") do command [CommandLineOptions]

 for /F ["usebackqParsingKeywords"] {%% | %}variable in ('LiteralString') do command [CommandLineOptions]

 for /F ["usebackqParsingKeywords"] {%% | %}variable in (`command`) do command [CommandLineOptions]

±г ParsingKeywords Ľؼ֡


 ؼ
˵


eol=c
ָβַֻһַ


skip=n
ָļĿͷ


delims=xxx
ָϡ⽫滻ոƱĬϷָ


tokens=x,y,m-n
ָЩƴÿдݵÿ for ġͷ˸ӱơm-n ʽһΧָ mth  nth ơ tokens=ַһַǺ (*)򽫷丽ӵıڽһƺϽʣı


usebackq
ָʹ filenameset еļƣŵַΪһִУеŵַַ



滻

 Ѿǿ for õ滻޸ĳ±гѡ﷨ I


޸ĳı
˵


%~I
չɾκǰ ("")  %I


%~fI
 %I չȫϸ·


%~dI
ֻ %I չš


%~pI
ֻ %I չ·


%~nI
ֻ %I չļ


%~xI
ֻ %I չļչ


%~sI
չ·ֻơ


%~aI
 %I չļļԡ


%~tI
 %I չļںʱ䡣


%~zI
 %I չļС


%~$PATH:I
 PATH гĿ¼, %I չһҵȫϸơûж廷ƣûҵļ޸ĳչɿַ



 ±гۺϽ޸ĳϡ


ʹϵ޸ĳ
˵


%~dpI
ֻ %I չź·


%~nxI
ֻ %I չļչ


%~fsI
 %I չֻƵ·


%~dp$PATH:I
 PATH гĿ¼ %Iչһҵź·


%~ftzaI
 %I չУ dirһ



УЧֵ滻 %I  PATHЧ for ֹ %~ syntax

ʹôд %Iʹ߿ɶԣұ벻ִСд޸ĳ


    
	 ַ
	
 ͨ Filenameset Բڣٴϵţ'filenameset'ʹ for /F ֱַ߼ Filenameset ΪĳļĵУȻܽ
	
	 
	
 ͨԲ֮ filenameset Ϊŵַ for /F ΪУݸ Cmd.exeڴ沢нһļһ

	







 Ҫļʹ forʹ﷨ 

 for %%variable in (set) do command [CommandLineOptions]

 Ҫͨʹÿ滻 %f ʾǰĿ¼չΪ .doc  .txt ļݣ룺 

 for %f in (*.doc *.txt) do type %f 

 ǰУǰĿ¼չΪ .doc  .txt ÿļΪ %f ֱÿļݶʾΪֹҪļʹøֻʹ %%f 滻 %f ÿ¼Դ˱ʾһϢ


ҪļͬʱעУ룺


for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k


  myfile.txt ļÿһУԷֺſͷУڶ͵ƴӸдݵ FOR ģͨŻոָСFOR  %i Իõڶƣ %j Իõƣ %k ԻȫơṩļոʹŽı磬"File Name"Ҫʹţʹ usebackq򣬾ͽŽΪҪַ

 %i  FOR ȷ %j  %k ʹ tokens= ֻҪĸzZĳʹ tokens= ָ 26 ơ

 Ҫͨ filenameset ֮룺 for /F "usebackq delims==" %i IN (`set`) DO @echo %i

 оٵǰеĻ

XOX





 
