欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

非常好的for 教程, 當(dāng)時(shí)我就是看這個(gè)學(xué)習(xí)for 的

 更新時(shí)間:2008年05月29日 23:16:15   作者:  
批處理for命令詳解 FOR這條命令基本上都被用來處理文本,但還有其他一些好用的功能! 看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個(gè)%號)

通過上面的學(xué)習(xí),我們發(fā)現(xiàn)for /f會默認(rèn)以每一行來作為一個(gè)元素,但是如果我們還想把每一行再分解更小的內(nèi)容,該怎么辦呢?不用擔(dān)心,for命令還為我們提供了更詳細(xì)的參數(shù),使我們將每一行分為更小的元素成為可能。
它們就是:delims和tokens
delims 用來告訴for每一行應(yīng)該拿什么作為分隔符,默認(rèn)的分隔符是空格和tab鍵
比如,還是上面的文件,我們執(zhí)行下面的命令:

for /f "delims= " %%i in (a.txt) do echo %%i

顯示的結(jié)果是:

第1行第1列
第2行第1列
第3行第1列

為什么是這樣的呢。因?yàn)檫@里有了delims這個(gè)參數(shù),=后面有一個(gè)空格,意思是再將每個(gè)元素以空格分割,默認(rèn)是只取分割之后的第一個(gè)元素。
執(zhí)行過程是:

將第一個(gè)元素“第1行第1列 第1行第2列 第1行第3列”分成三個(gè)元素:“第1行第1列” “第1行第2列” “第1行第3列”,它默認(rèn)只取第一個(gè),即“第1行第1列”,然后執(zhí)行do后面的命令,依次類推。

但是這樣還是有局限的,如果我們想要每一行的第二列元素,那又如何呢?
這時(shí)候,tokens跳出來說,我能做到。
它的作用就是當(dāng)你通過delims將每一行分為更小的元素時(shí),由它來控制要取哪一個(gè)或哪幾個(gè)。
還是上面的例子,執(zhí)行如下命令:

for /f "tokens=2 delims= " %%i in (a.txt) do echo %%i

執(zhí)行結(jié)果:

第1行第2列
第2行第2列
第3行第2列
如果要顯示第三列,那就換成tokens=3。
同時(shí)tokens支持通配符*,以及限定范圍。
如果要顯示第二列和第三列,則換成tokens=2,3或tokens=2-3,如果還有更多的則為:tokens=2-10之類的。
此時(shí)的命令為:

for /f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j

怎么多出一個(gè)%%j?
這是因?yàn)槟愕膖okens后面要取每一行的兩列,用%%i來替換第二列,用%%j來替換第三列。
并且必須是按照英文字母順序排列的,%%j不能換成%%k,因?yàn)閕后面是j
執(zhí)行結(jié)果為:

第1行第2列 第1行第3列
第2行第2列 第2行第3列
第3行第2列 第3行第3列
對以通配符*,就是把這一行全部或者這一行的剩余部分當(dāng)作一個(gè)元素了。
比如:

for /f "tokens=* delims= " %%i in (a.txt) do echo %%i

執(zhí)行結(jié)果為:

第1行第1列 第1行第2列 第1行第3列
第2行第1列 第2行第2列 第2行第3列
第3行第1列 第3行第2列 第3行第3列
其實(shí)就跟for /f %%i in (a.txt) do echo %%i的執(zhí)行結(jié)果是一樣的。
再如:

for /f "tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j
執(zhí)行結(jié)果為:

第1行第2列 第1行第3列
第2行第2列 第2行第3列
第3行第2列 第3行第3列

用%%i代替第二列,用%%j代替剩余的所有
最后還有skip合eol,這倆個(gè)簡單,skip就是要忽略文件的前多少行,而eol用來指定當(dāng)一行以什么符號開始時(shí),就忽略它。
比如:

for /f "skip=2 tokens=*" %%i in (a.txt) do echo %%i
結(jié)果為:

第3行第1列 第3行第2列 第3行第3列
用skip來告訴for跳過前兩行。
如果不加tokens=*的話,執(zhí)行結(jié)果為:

第3行第1列
不知道怎么回事。
再如,當(dāng)a.txt內(nèi)容變成:

.第1行第1列 第1行第2列 第1行第3列
.第2行第1列 第2行第2列 第2行第3列
第3行第1列 第3行第2列 第3行第3列
執(zhí)行for /f "eol=. tokens=*" %%i in (a.txt) do echo %%i結(jié)果是:

第3行第1列 第3行第2列 第3行第3列
用eol來告訴for忽略以“.”開頭的行。
同樣也必須加tokens=*,否則只會顯示“第3行第1列

相關(guān)文章

最新評論