Board logo

标题: [其他] 批处理%~dp$PATH:I和%~$PATH:I到底什么意思? [打印本页]

作者: HappyBirthday    时间: 2014-5-20 18:20     标题: 批处理%~dp$PATH:I和%~$PATH:I到底什么意思?

怎么运行起来和path变量里的所有东西不符呢?
作者: CrLf    时间: 2014-5-20 18:42

在 path 指向的目录中找名称与 %%~nxi 相同的文件,返回找到的第一个匹配文件
作者: HappyBirthday    时间: 2014-5-21 16:03

回复 2# CrLf


    好像不是这样:
%~dp$PATH:I只是返回上级目录而已。
作者: apang    时间: 2014-5-21 20:40

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Windows\System32>set "a=c:\windows;c:\windows\system32"

C:\Windows\System32>for %i in ("d:\test\cmd.exe") do echo %~dp$a:i

C:\Windows\System32>echo
ECHO 处于打开状态。

C:\Windows\System32>

除非d:\test\cmd.exe真实存在,否则返回空值
作者: HappyBirthday    时间: 2014-5-22 03:39

回复 4# apang


谢谢。    好奇怪,为什么内置的path参数不行?非要弄别的?
作者: Renekton    时间: 2023-9-5 10:48

本帖最后由 Renekton 于 2023-9-5 10:54 编辑

回复 3# HappyBirthday


    dp嘛,drive and path嘛,和%~dpI一样的只返回文件所在路径啊,你末端本身是一个目录的话,那就返回上级目录(所在目录)了嘛




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2