批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[其他] 【已解决】批处理中的tokens=*和delims= 是起什么作用?

for /f "tokens=* delims=" %%a in (%PATH%) do (.......)

其中的"tokens=* delims=" 是起什么作用?

论坛搜索for命令详解
心绪平和,眼藏静谧。

TOP

嗯,谢了,
搜了,还挺难懂的.再看看.

TOP

转帖(出处不详)

test.txt 的内容为(行首有若干空格):
  1.     abc 。。
复制代码
比较以下两段代码的执行结果差异:
  1. @echo off
  2. for /f "delims=" %%i in (test.txt) do echo /%%i/
  3. pause
复制代码
  1. @echo off
  2. for /f "tokens=*" %%i in (test.txt) do echo /%%i/
  3. pause
复制代码
看到有什么差别了吗?

原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。

[ 本帖最后由 Batcher 于 2009-3-18 16:01 编辑 ]
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

" "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。"谢谢解答,对于这种写法我一直有些模糊,现在终于清楚了!

TOP

返回列表