- 相信大家都知道VBA中的Split函數,那麼在bat中是否有類似的功能呢?
正文
- 已有一個txt文本:將進酒·君不見.txt
- 對txt中每一行進行分割,分割符采用.,,.
- 分別輸出文本文件,觀察不同分割符的效果
代碼
@echo off
for /f "delims=., tokens=2" %%i in (將進酒·君不見.txt) do echo %%i>>1.txt
for /f "delims=. tokens=2" %%i in (將進酒·君不見.txt) do echo %%i>>2.txt
代碼截圖
結果文件
1.txt
2.txt
代碼解讀
- delims=.,,指定了分隔符,這裡指定了.和,為分割符
- tokens=2,指定了分割後,取哪一個部分,分割後的第一部分為1,依次為2,3,4。
- 當省略delims參數,默認使用空格作為分割符;當省略tokens參數時,默認取第1部分for /f %%i in (將進酒·君不見.txt) do echo %%i>>3.txt
Ps:這裡也指出之前寫的一篇文章的錯誤,當一行中無空格時,for /f效果看起來就是逐行讀出文本文件,但其實它就是讀出空格分割後的第1部分
閱讀更多 excel技能寶典 的文章