一段批处理命令,set CurDir=TMPset NoMusicFiles=1rem 给当前目录存储变量赋值for %%i in (%0.bat) do (%%~diset CurDir=%%~pi)——————————————————————能不能给解释下这个%%i,%%~di和%%~还

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 14:21:42

一段批处理命令,set CurDir=TMPset NoMusicFiles=1rem 给当前目录存储变量赋值for %%i in (%0.bat) do (%%~diset CurDir=%%~pi)——————————————————————能不能给解释下这个%%i,%%~di和%%~还
一段批处理命令,
set CurDir=TMP
set NoMusicFiles=1
rem 给当前目录存储变量赋值
for %%i in (%0.bat) do (
%%~di
set CurDir=%%~pi
)
——————————————————————
能不能给解释下这个%%i,%%~di和%%~还有这个for in do语句是怎么个用法呢?

一段批处理命令,set CurDir=TMPset NoMusicFiles=1rem 给当前目录存储变量赋值for %%i in (%0.bat) do (%%~diset CurDir=%%~pi)——————————————————————能不能给解释下这个%%i,%%~di和%%~还
for 是对in 后括号里的内容(有可能是一个值,有可能是一系列值),赋给%%i之类的变量,并作do 后的循环命令(有括号则每轮循环都要执行)
%%~di 指%%i 是个文件名,只取它的磁盘如c:
%%~pi 只取它的路径如 \windsows\
这之类还有一些,在命令行输入for/?看
要想更详细了解for的用法,可能这个帮助信息不易看懂,可以到我空间看篇文章,但我写的那篇还只讲到for 后带参数的,这没带参数的属简单一些的.
附注:你那代码 (%0.bat)肯定是有问题的,只应该是%0 才对而且按最终用途没要用for来取
d0 代表批处理文件所在盘
p0 代表批处理文件所在路径