批处理delims=和tokens=星号 的使用差别
程序员文章站
2022-06-16 15:45:50
比较以下两段代码的执行结果差异: 1、 @echo off for /f "delims=" %%i in (test.txt) do echo /%%i/ pause 2...
比较以下两段代码的执行结果差异:
1、
@echo off
for /f "delims=" %%i in (test.txt) do echo /%%i/
pause
2、
@echo off
for /f "tokens=*" %%i in (test.txt) do echo /%%i/
pause
test.txt 的内容为: abc 。行首有若干空格。
看到有什么差别了吗?
原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。
1、
@echo off
for /f "delims=" %%i in (test.txt) do echo /%%i/
pause
2、
@echo off
for /f "tokens=*" %%i in (test.txt) do echo /%%i/
pause
test.txt 的内容为: abc 。行首有若干空格。
看到有什么差别了吗?
原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。
上一篇: 你还当我是以前那个一无是处的穷屌丝