![]() |
中国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 |