bat-字符串分割

微信公众号原文

系统:Windows 7

引言

  • 相信大家都知道VBA中的Split函数,那么在bat中是否有类似的功能呢?

思考:实验设计

  1. 已有一个txt文本:将进酒·君不见.txt
  2. 对txt中每一行进行分割,分割符采用.,.
  3. 分别输出文本文件,观察不同分割符的效果

1.png

代码

@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

代码截图
2.png

结果文件
1.txt
3.png

2.txt
4.png

代码解读

  1. delims=.,,指定了分隔符,这里指定了.为分割符
  2. tokens=2,指定了分割后,取哪一个部分,分割后的第一部分为1。
  3. 当省略delims参数,默认使用空格作为分割符;当省略tokens参数时,默认取第1部分
for /f %%i in (将进酒·君不见.txt) do echo %%i>>3.txt

5.png

Ps:这里也指出之前写的一篇文章的错误,当一行中无空格时,for /f效果看起来就是逐行读出文本文件,但其实它就是读出空格分割后的第一部分


更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

猜你喜欢

转载自blog.csdn.net/fourSeasonBeans/article/details/81262856