国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

批處理 FOR參數(shù)/F之tokens詳解

2020-06-09 13:44:44
字體:
供稿:網(wǎng)友
(四)tokens=x,y,m-n 提取列


格式:

FOR /F "tokens=x,y,m-n" %%I IN (Command1) DO Command2

用法:

一句話總結(jié):提取列。

通俗講,共同提取每一行的第m小節(jié)的內(nèi)容。

因此,可以用該命令來指定提取文本信息。

tokens=有時表示提取全部。

tokens=m表示提取第m列。

tokens=m,n表示提取第m列和第n列。

tokens=m-n表示提取第m列至第n列。

Tokens=*表示刪除每行前面的空格。忽略行首的所有空格。

tokens=m*提取第m列以后的所有字符,星號表示剩余的字符。

tokens=m,*提取第m列以后的所有字符,星號表示剩余的字符。

輸出變量的個數(shù)由定義了的tokens決定。

在 FOR 語句中顯式聲明 %%i。使用tokens= 隱式聲明%%j 和%%k。只要不會引起試圖聲明高于字母“z”或“Z”的某個變量,則使用tokens= 可以指定最多 26 個輸出變量。


接著前面的例子“靜夜思”。

如果我要提取第三小節(jié)“舉頭望明月”,如何做到?

@echo off

for /f "delims=, tokens=3" %%i in (靜夜思.txt) do echo %%i

pause>nul


講解:

首先用delims=,表示命令要用逗號作為詩句的分隔符將四句分成四小節(jié)。然后用tokens=3提取第三小節(jié),即“舉頭望明月”了。

delims=和tokens=共用一對雙引號,如果單獨(dú)用雙引號,則FOR命令返回的只能是它們之中的一個。因?yàn)樵诘谝还?jié)說過,F(xiàn)OR是逐一讀取命令的,將delims和tokens分開后,F(xiàn)OR只能一次讀取一個,不能一次全部讀取。


注意:

Tokens常和delims一起使用。

首先,一行內(nèi)容被delims用分割符號如逗號等分隔成許多小段或小節(jié)。

然后,tokens才能提取每行之間對應(yīng)的這些小段或小節(jié)——列。具體看下面例子。


例:提取前面例子文本“a.txt”中每行的第三段內(nèi)容“ccc”、“kkk”、“ggg”、“考試”。

@echo off

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

pause>nul

注意:為什么kkk不出現(xiàn)呢?


例:如何屏蔽掉文本“a.txt”中的標(biāo)點(diǎn)符號?

@echo off

for /f "skip=1delims=,, tokens=1-4" %%i in (a.txt) do echo %%i %%j %%k %%l

pause>nul


講解:

%%i %%j %%k %%l是輸出變量,它的個數(shù)由tokens后面的(m-n)決定,一般有(n-m+1)個,但不能超過Z。

并且%%后面的字母存在先后順序,%%a %%b是順向,倒過來則是逆向的。

代行號的tokens=m*,星號表示m后面的所有剩余的列。

例:

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

講解:

沒有指定具體的列,"tokens=*"將提取全部列,后面只需一個輸出變量%%i。


例:

for /f "tokens=2*" %%i in (a.txt) do echo %%i %%j
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长泰县| 中卫市| 东方市| 金川县| 合肥市| 法库县| 泰和县| 大洼县| 开鲁县| 临澧县| 清远市| 天峻县| 射阳县| 延津县| 滦南县| 宝丰县| 沁水县| 峡江县| 郁南县| 闸北区| 名山县| 田东县| 巴彦淖尔市| 乌鲁木齐县| 海盐县| 德清县| 荆门市| 山西省| 建湖县| 东莞市| 博白县| 邵阳市| 宣汉县| 毕节市| 平舆县| 鄂伦春自治旗| 壤塘县| 曲麻莱县| 南康市| 云南省| 福贡县|