保存執(zhí)行看效果,他會打印從1 2 3 4 5 這樣5個數(shù)字(1,1,5)這個參數(shù)也就是表示從1開始每次加1直到5終止!
等會暈,就打印個數(shù)字有P用...好的滿足大家,看這個例子
?
1
2
3 |
@ echo off for /l %%i in (1,1,5) do start cmd pause |
執(zhí)行后是不是嚇了一跳,怎么多了5個CMD窗口,呵呵!如果把那個 (1,1,5)改成 (1,1,65535)會有什么結(jié)果,我先告訴大家,會打開65535個CMD窗口....這么多你不死機(jī)算你強(qiáng)!
當(dāng)然我們也可以把那個start cmd改成md %%i 這樣就會建立指定個目錄了!!!名字為1-65535
看完這個被我賦予破壞性質(zhì)的參數(shù)后,我們來看最后一個參數(shù)
五、參數(shù) /F
\迭代及文件解析
使用文件解析來處理命令輸出、字符串及文件內(nèi)容。使用迭代變量定義要檢查的內(nèi)容或字符串,并使用各種options選項(xiàng)進(jìn)一步修改解析方式。使用options令牌選項(xiàng)指定哪些令牌應(yīng)該作為迭代變量傳遞。請注意:在沒有使用令牌選項(xiàng)時,/F 將只檢查第一個令牌。
文件解析過程包括讀取輸出、字符串或文件內(nèi)容,將其分成獨(dú)立的文本行以及再將每行解析成零個或更多個令牌。然后通過設(shè)置為令牌的迭代變量值,調(diào)用 for 循環(huán)。默認(rèn)情況下,/F 傳遞每個文件每一行的第一個空白分隔符號。跳過空行。
詳細(xì)的幫助格式為:
FOR /F ["options"] %%variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %%variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %%variable IN ('command') DO command [command-parameters]
帶引號的字符串"options"包括一個或多個指定不同解析選項(xiàng)的關(guān)鍵字。這些關(guān)鍵字為:
eol=c - 指一個行注釋字符的結(jié)尾(就一個)
skip=n - 指在文件開始時忽略的行數(shù)。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認(rèn)分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身。這會導(dǎo)致額外變量名稱的分配。m-n格式為一個范圍。通過 nth 符號指定 mth。如果符號字符串中的最后一個字符星號,那么額外的變量將在最后一個符號解析之后分配并接受行的保留文本。經(jīng)測試,該參數(shù)最多只能區(qū)分31個字段。
usebackq - 使用后引號(鍵盤上數(shù)字1左面的那個鍵`)。
未使用參數(shù)usebackq時:file-set表示文件,但不能含有空格
雙引號表示字符串,即"string"
單引號表示執(zhí)行命令,即'command'
使用參數(shù)usebackq時:file-set和"file-set"都表示文件
當(dāng)文件路徑或名稱中有空格時,就可以用雙引號括起來
單引號表示字符串,即'string'
后引號表示命令執(zhí)行,即`command`
以上是用for /?命令獲得的幫助信息,直接復(fù)制過來的。
暈慘了!我這就舉個例子幫助大家來理解這些參數(shù)!
For命令例1:****************************************
?
1
2
3
4
5
6
7
8
9 |
@ echo off rem 首先建立臨時文件test.txt echo ;注釋行,這是臨時文件,用完刪除 >test.txt echo 11段 12段 13段 14段 15段 16段 >>test.txt echo 21段,22段,23段,24段,25段,26段 >>test.txt echo 31段-32段-33段-34段-35段-36段 >>test.txt FOR /F "eol=; tokens=1,3* delims=,- " %%i in (test.txt) do echo %%i %%j %%k Pause Del test.txt |
運(yùn)行顯示結(jié)果:
11段 13段 14段 15段 16段
21段 23段 24段,25段,26段
31段 33段 34段-35段-36段
請按任意鍵繼續(xù). . .
為什么會這樣?我來解釋:
eol=; 分號開頭的行為注釋行
tokens=1,3* 將每行第1段,第3段和剩余字段分別賦予變量%%i,%%j,%%k
delims=,- (減號后有一空格)以逗號減號和空格為分隔符,空格必須放在最后
For命令例2:****************************************
?
1
2
3 |
@ echo off FOR /F "eol= delims=" %%i in (test.txt) do echo %%i Pause |
運(yùn)行將顯示test.txt全部內(nèi)容,包括注釋行,不解釋了哈。
For命令例3:****************************************
另外/F參數(shù)還可以以輸出命令的結(jié)果看這個例子
?
1
2
3 |
@ echo off FOR /F "delims=" %%i in ( 'net user' ) do @ echo %%i pause |
這樣你本機(jī)全部帳號名字就出來了把擴(kuò)號內(nèi)的內(nèi)容用兩個單引號引起來就表示那個當(dāng)命令執(zhí)行,FOR會返回命令的每行結(jié)果,加那個"delims=" 是為了讓我空格的行能整行顯示出來,不加就只顯示空格左邊一列!
基本上講完了FOR的基本用法了...如果你看過FOR的系統(tǒng)幫助,你會發(fā)現(xiàn)他下面還有一些特定義的變量,這些我先不講.大家因該都累了吧!你不累我累啊....
2015年全國職稱計算機(jī)考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |