标题: [其他] 【已解决】批处理中的tokens=*和delims= 是起什么作用? [打印本页]
作者: 2290138 时间: 2008-8-27 16:01 标题: 【已解决】批处理中的tokens=*和delims= 是起什么作用?
for /f "tokens=* delims=" %%a in (%PATH%) do (.......)
其中的"tokens=* delims=" 是起什么作用?
作者: pusofalse 时间: 2008-8-27 16:07
论坛搜索for命令详解
作者: 2290138 时间: 2008-8-27 16:26
嗯,谢了,
搜了,还挺难懂的.再看看.
作者: Batcher 时间: 2008-8-27 17:46 标题: 转帖(出处不详)
test.txt 的内容为(行首有若干空格):复制代码
比较以下两段代码的执行结果差异:- @echo off
- for /f "delims=" %%i in (test.txt) do echo /%%i/
- pause
复制代码
- @echo off
- for /f "tokens=*" %%i in (test.txt) do echo /%%i/
- pause
复制代码
看到有什么差别了吗?
原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。
[ 本帖最后由 Batcher 于 2009-3-18 16:01 编辑 ]
作者: kevinpeng 时间: 2009-8-15 14:49
" "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。"谢谢解答,对于这种写法我一直有些模糊,现在终于清楚了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |