[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】批处理中的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 编辑 ]
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

TOP

返回列表