- 相信大家都知道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部分
本文暂时没有评论,来添加一个吧(●'◡'●)