站长资源脚本专栏
批处理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/ pa
比较以下两段代码的执行结果差异:
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=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。