溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

批處理FOR中的Delims和Tokens怎么用

發(fā)布時間:2021-10-08 11:41:30 來源:億速云 閱讀:127 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“批處理FOR中的Delims和Tokens怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“批處理FOR中的Delims和Tokens怎么用”這篇文章吧。

在For命令語句的參數(shù)F中,最難理解的就是Delims和Tokens兩個選項,本文簡單的做一個比較和總結(jié)。
“For /f”常用來解析文本,讀取字符串。分工上,delims負責(zé)切分字符串,而tokens負責(zé)提取字符串。如果把字符串當(dāng)作蛋糕,Delims像刀子,用來切蛋糕,tokens像叉子,用來取切好的蛋糕。下面我們用實例來進行理解。
把以下內(nèi)容保存為文本文件“歌曲列表.txt”,注意擴展名為“.txt”:
序號、歌手名-歌曲名.后綴名
1、饒?zhí)炝?玫瑰愛人.wma
2、高一首-我不愿錯過.mp3
3、黃凱芹-傷感的戀人.MP3
4、黃燦-黃玫瑰.lrc
5、黎姿-如此這般的愛情故事.mp3
代碼1:顯示全部內(nèi)容
@echo off
for /f %%i in (歌曲列表.txt) do echo %%i
pause>nul
運行結(jié)果:
序號、歌手名-歌曲名.后綴名
1、饒?zhí)炝?玫瑰愛人.wma
2、高一首-我不愿錯過.mp3
3、黃凱芹-傷感的戀人.MP3
4、黃燦-黃玫瑰.lrc
5、黎姿-如此這般的愛情故事.mp3
講解:
如果不使用參數(shù)“/f”,運行結(jié)果只顯示括號里的文字字符“歌曲列表.txt”,而不能讀取文本文件“歌曲列表.txt”中的內(nèi)容??梢?,“/f”是解析文本字符串的好工具。
一、delims
假如只要序號,不要歌手名、歌曲名和后綴名,如何辦到?
代碼2:默認提取第一列
@echo off
for /f "delims=、" %%i in (歌曲列表.txt) do echo %%i
pause>nul
運行結(jié)果:
序號
1
2
3
4
5
講解:
"delims=、"表示定義頓號“、”為分隔符,并用該分隔符“、”切分文本字符串。字符串就是“歌曲列表.txt”里的內(nèi)容,也就是文件里的文字和標點符號。
該頓號是原文中就有的。除了頓號“、”,原文中還有減號“-”和點號“.”,因此你也可以用它們來做分隔符。
代碼3:用減號“-”做分隔符
@echo off
for /f "delims=-" %%i in (歌曲列表.txt) do echo %%i
pause>nul
運行結(jié)果:
序號、歌手名
1、饒?zhí)炝?
2、高一首
3、黃凱芹
4、黃燦
5、黎姿
講解:
因為,當(dāng)減號“-”被用做分隔符時,每行內(nèi)容被減號“-”分隔成前后兩半,默認只顯示前半部分,而后半部分連同分隔符減號“-”都被忽略(省略)了。
代碼4:用點號“.”做分隔符
@echo off
for /f "delims=." %%i in (歌曲列表.txt) do echo %%i
pause>nul
運行結(jié)果:
序號、歌手名-歌曲名
1、饒?zhí)炝?玫瑰愛人
2、高一首-我不愿錯過
3、黃凱芹-傷感的戀人
4、黃燦-黃玫瑰
5、黎姿-如此這般的愛情故事
講解:
默認情況下,單純使用delims而不用tokens時,只顯示第一個分隔符前的內(nèi)容,第一個分隔符和第一個分隔符后面的內(nèi)容將被忽略。
代碼5:定義多個分隔符
@echo off
for /f "delims=、-." %%i in (歌曲列表.txt) do echo %%i
pause>nul
運行結(jié)果:
序號
1
2
3
4
5
講解:
原因是,當(dāng)定義頓號“、”、減號“-”和點號“.”三個標點符號為分隔符后,原文被分隔成四個部分。
如第二行“1、饒?zhí)炝?玫瑰愛人.wma”將被分隔成“1”、“饒?zhí)炝痢薄ⅰ懊倒鍚廴恕焙汀皐ma” 四個部分。
從第一行到最后一行,每行的每個部分對應(yīng)下來相當(dāng)于一個豎列。因此,原文就有“序號”、“歌手名”、“歌曲名”、“后綴名”四列。
一般情況下,只讀取第一列的內(nèi)容。后面的內(nèi)容需要用tokens選項提取。

以上是“批處理FOR中的Delims和Tokens怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI