最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

非常好的for 教程, 當時我就是看這個學習for 的

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

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

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

顯示的結(jié)果是:

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

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

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

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

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

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

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

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

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

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

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列
其實就跟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,這倆個簡單,skip就是要忽略文件的前多少行,而eol用來指定當一行以什么符號開始時,就忽略它。
比如:

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列
不知道怎么回事。
再如,當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)文章

最新評論

张家川| 通化市| 城口县| 瑞昌市| 临沂市| 黄梅县| 兰西县| 新巴尔虎左旗| 沙坪坝区| 广西| 南华县| 什邡市| 南安市| 静宁县| 麻城市| 湘西| 秦皇岛市| 务川| 新巴尔虎左旗| 盘山县| 新蔡县| 甘肃省| 孝义市| 上栗县| 梨树县| 保定市| 万全县| 宣城市| 巩义市| 夹江县| 会同县| 梁山县| 将乐县| 海宁市| 灵丘县| 贺州市| 郑州市| 平利县| 青神县| 勐海县| 巴彦淖尔市|