楼 主
请教FOR /F "delims=" 句的意思~
发表于 2008-09-27 13:10 · 中国 湖北 武汉 电信
初级用户
★
积分 55
发帖 25
注册 2007-05-11 21:41
19年会员
UID 88224
性别 男
状态 离线
@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 楼
发表于 2008-09-27 13:26 · 中国 浙江 宁波 电信
初级用户
★
积分 62
发帖 24
注册 2008-09-17 19:59
17年会员
UID 125888
性别 男
状态 离线
"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 楼
发表于 2008-09-27 13:36 · 中国 湖北 武汉 电信
初级用户
★
积分 55
发帖 25
注册 2007-05-11 21:41
19年会员
UID 88224
性别 男
状态 离线
第 4 楼
发表于 2008-09-27 13:44 · 中国 浙江 宁波 电信
初级用户
★
积分 62
发帖 24
注册 2008-09-17 19:59
17年会员
UID 125888
性别 男
状态 离线
FOR /F "delims=" %%I in (%0) do Set TP=%%~dpI
对这句我理解仅仅是利用%0(代表批处理自身)
然后%%~dpI扩展到批处理自身所在的目录,这样的话就绕了个大弯
直接%~dp0就代表批处理所在目录啊
第 5 楼
发表于 2008-09-27 13:47 · 中国 湖北 武汉 电信
初级用户
★
积分 55
发帖 25
注册 2007-05-11 21:41
19年会员
UID 88224
性别 男
状态 离线
第 6 楼
发表于 2008-09-27 17:36 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: