批处理之for /f

批处理之for /f目录显示文本内容字符串截取截取指点段字符串通常,我们使用批处理命令来处理文本,而解析文本主要使用的就是for/f,通过几个常见使用场景的例子,来感受for/f的使用方式吧。显示文本内容描述:将同一目录下的test.txt的内容全部显示出来。test.txt内容如下:111222333@echoofffor/f%%iin(test.txt)doecho%%i&pausepause说明:运行这段代码,可以发现,每次输出一行后需要按任意键后才输出下一行,也

大家好,欢迎来到IT知识分享网。

通常,我们使用批处理命令来处理文本,而解析文本主要使用的就是for /f,通过几个常见使用场景的例子,来感受for /f的使用方式吧。

显示文本内容

描述:将同一目录下的test.txt的内容全部显示出来。

test.txt内容如下:
111
222
333
@echo off
for /f %%i in (test.txt) do echo %%i & pause
pause

说明:运行这段代码,可以发现,每次输出一行后需要按任意键后才输出下一行,也就是说,for /f是在逐行解析文本内容的。

字符串截取

描述:以,为分隔符,截取第一个,之前的内容。

test.txt内容如下:
1,1,1
2,2,2
3,3,3
@echo off
for /f "delims=," %%i in (test.txt) do echo %%i
pause

说明:运行可以发现,每行输出的内容里第一个,及其之后的内容不见了,即提取了每一行第一个分隔符之前的字符串内容,分隔符就是通过开关delims设置的如有多个分隔符都写出来即可”delims=,.”,即一次可以指定多个分隔符,如果没有设置,那么分隔符默认是空格和Tab键的。

截取指点段字符串

描述:以,为分隔符,取分割后的第三段字符串。

test.txt内容如下:
11,22,33,44,55
@echo off
for /f "delims=, tokens=3" %%i in (test.txt) do echo %%i
pause

说明:运行这段代码,会输出33,也就是第三段字符串,这里的tokens就是表示提取哪一段分割段的,如果要提取多段字符串,只要改成这样既可:

@echo off
for /f "delims=, tokens=2,5" %%i in (test.txt) do echo %%i %%j
pause

说明:运行这段代码,输出为22 55,如果tokens指定了多个数字,for和in之间的形式变量为%%i,那么第一个数字2指代内容用%%i来表示,第二个数字5指代的内容用%%j来表示…如果这里的%%i换成%%a,那么第二个数字5指代的内容就要用%%b来表示,如果这里的%%i换成%%x,那么第二个数字5指代的内容就要用%%y来表示。
tokens中如果数字连续,比如”tokens=1,3,4,5,6″,等价于”tokens=1,3-6″。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23576.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信