找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29395|回复: 4

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

[复制链接]
发表于 2008-8-27 16:01:53 | 显示全部楼层 |阅读模式
for /f "tokens=* delims=" %%a in (%PATH%) do (.......)

其中的"tokens=* delims=" 是起什么作用?
发表于 2008-8-27 16:07:21 | 显示全部楼层
论坛搜索for命令详解
 楼主| 发表于 2008-8-27 16:26:11 | 显示全部楼层
嗯,谢了,
搜了,还挺难懂的.再看看.
发表于 2008-8-27 17:46:17 | 显示全部楼层

转帖(出处不详)

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 编辑 ]
发表于 2009-8-15 14:49:51 | 显示全部楼层
" "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。"谢谢解答,对于这种写法我一直有些模糊,现在终于清楚了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-23 10:05

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表