濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 批處理 FOR參數(shù)/F之tokens詳解

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

熱門標(biāo)簽:外呼獲客系統(tǒng) 95專業(yè)外呼線路是怎么回事 用電話機(jī)器人取代人工 谷歌地圖標(biāo)注錯(cuò)位 無錫極信防封電銷卡價(jià)格 aa專業(yè)電話外呼系統(tǒng) 沈陽電銷 四川防封電銷卡套餐 浙江語音外呼系統(tǒng)招商
(四)tokens=x,y,m-n 提取列


格式:

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

用法:

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

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

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

tokens=有時(shí)表示提取全部。

tokens=m表示提取第m列。

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

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

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

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

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

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

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


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

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

@echo off

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

pause>nul


講解:

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

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


注意:

Tokens常和delims一起使用。

首先,一行內(nèi)容被delims用分割符號(hào)如逗號(hào)等分隔成許多小段或小節(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)符號(hào)?

@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是輸出變量,它的個(gè)數(shù)由tokens后面的(m-n)決定,一般有(n-m+1)個(gè),但不能超過Z。

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

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

例:

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

講解:

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


例:

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

講解:

"tokens=2*"提取第二列以后的所有字符,星號(hào)表示剩余的字符。輸出變量%%i對應(yīng)于2的輸入變量,%%j對應(yīng)于星號(hào)的輸入變量。

注意:

這里沒有使用delisms但卻以空格分隔了,是因?yàn)镕OR默認(rèn)空格是做分隔符的。


例:屏蔽掉“易經(jīng).txt”中的標(biāo)點(diǎn)符號(hào):

@echo off

for /f "tokens=1-5 delims=:," %%a in (易經(jīng).txt) do echo %%a %%b %%c %%d %%e

pause>nul

講解:

當(dāng)delims定義了兩個(gè)分隔符“:”和“,”時(shí),提取列要用到tokens。

有五個(gè)列,所以tokens要定義提取第一列至第五列,即1-5,相應(yīng)地,后面需要五個(gè)輸出顯示變量%%a %%b %%c %%d %%e。你也可以這樣修改,避免過多的變量符號(hào)【補(bǔ)充?】

你也可以將最后多余的句號(hào)定義為分隔符“delims=:,。”將其屏蔽掉。


練習(xí):

1、 請簡單說說tokens的作用

2、 Tokens=1,3-5后面的輸出變量需要多少個(gè)?

3、 請使用tokens提取下面網(wǎng)頁的標(biāo)題《硬盤知識(shí)及故障大總匯(頁 2)》:

手機(jī),3G手機(jī),智能手機(jī),手機(jī)電影,手機(jī)軟件,手機(jī)游戲,鈴聲,主題,圖片,電子書,手機(jī)維修,手機(jī)大全,手機(jī)報(bào)價(jià),下載,智能手機(jī)的測評(píng),使用心得 硬盤知識(shí)及故障大總匯(頁 2) - 電腦技術(shù)交流區(qū) - 3g365智能手機(jī)論壇 - powered by Discuz! Archiver.mht

您可能感興趣的文章:
  • 關(guān)于批處理中FOR語句的使用說明與學(xué)習(xí)技巧
  • 批處理FOR 中的Delims和Tokens總結(jié)
  • cmd forfiles 從文件夾或樹中選擇要進(jìn)行批處理的文件(方便批量刪除n天前的文件)
  • 淺談PL/SQL批處理語句:BULK COLLECT與FORALL對優(yōu)化做出的貢獻(xiàn)
  • 使用批處理for命令清除事件查看器所有Windows EventLog日志
  • 批處理中常用命令介紹(Echo、rem、goto、call、pause、if、for)
  • 批處理for命令使用指南

標(biāo)簽:廣安 連云港 興安盟 迪慶 南平 煙臺(tái) 青島 常德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批處理 FOR參數(shù)/F之tokens詳解》,本文關(guān)鍵詞  批處理,FOR,參數(shù),之,tokens,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《批處理 FOR參數(shù)/F之tokens詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于批處理 FOR參數(shù)/F之tokens詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    区。| 田阳县| 临武县| 佳木斯市| 洛阳市| 祁阳县| 衡阳市| 穆棱市| 视频| 荣成市| 会昌县| 吐鲁番市| 荆州市| 泾川县| 侯马市| 黔西县| 小金县| 苏尼特右旗| 同仁县| 东丽区| 石狮市| 阳新县| 博兴县| 修水县| 阜南县| 遂溪县| 汨罗市| 张家界市| 出国| 陕西省| 永顺县| 穆棱市| 门头沟区| 门源| 吉安市| 玉树县| 胶南市| 黄龙县| 晋州市| 崇明县| 衡山县|