中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 21:58
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教FOR /F "delims=" 句的意思~
可打印版本  716 / 5
第1楼 path 发表于 2008-09-27 13:10
初级用户 发帖 25 积分 55
请教FOR /F "delims=" 句的意思~
@echo off
FOR /F "delims=" %%I in (%0) do Set TP=%%~dpI
regsvr32 /s "%TP%isoshell.dll"
cd /d "%TP%drivers"
"%TP%drivers\isocmd.exe" -i
第2楼 ygrzzz 发表于 2008-09-27 13:26
初级用户 发帖 24 积分 62
"delims=" 无任何分割符(去掉默认的分隔符空格和;),完整列出整行内容包括行首空格
而”tokens=*“这个能去行首空格列出一行内容,估计行内多空格会被单空格替换吧

@echo off
:: 进入批处理所在目录
cd /d %~dp0
regsvr32 /s "isoshell.dll"
cd /d "%~dp0drivers"
“%~dp0drivers\isocmd.exe" -i
这样可以吗
或者
@echo off
set pash=%~dp0;%~dp0drivers;%pash%
regsvr32 /s "isoshell.dll"
isocmd.exe" -i

[ Last edited by ygrzzz on 2008-9-27 at 13:39 ]
第3楼 path 发表于 2008-09-27 13:36
初级用户 发帖 25 积分 55
谢谢,能不能再说的详细点?
第4楼 ygrzzz 发表于 2008-09-27 13:44
初级用户 发帖 24 积分 62
FOR /F "delims=" %%I in (%0) do Set TP=%%~dpI
对这句我理解仅仅是利用%0(代表批处理自身)
然后%%~dpI扩展到批处理自身所在的目录,这样的话就绕了个大弯
直接%~dp0就代表批处理所在目录啊
第5楼 path 发表于 2008-09-27 13:47
初级用户 发帖 25 积分 55
谢谢.....我慢慢看看...
第6楼 HAT 发表于 2008-09-27 17:36
版主 发帖 5,017 积分 9,023
下次提问之前记得先在本版搜索一下delims=
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023