2013-04-04 119 views
14

我在CD上有一个批处理脚本。每当我尝试运行它并输入%~d0时,它将返回C:驱动器而不是F :,这是我的CD驱动器。如何获得批处理脚本运行的驱动器号?

什么是找到驱动器号的方法?

+0

什么是使用'%〜d0'确切的命令? – 2013-04-04 15:48:27

回答

23

从当前目录获取驱动器盘符与:

%cd:~0,2% 

%〜DP0是蝙蝠非常有用:它是在执行bat文件所在的文件夹。

也许在你的脚本的顶部,这样做:

set _SCRIPT_DRIVE=%~d0 
set _SCRIPT_PATH=%~p0 

,然后回声它调试。 %〜d0应该给你你想要的,但我提到的其他选项可能有助于解决这个挑战。

+1

不是%cd%给出了_executing_的路径吗?获取实际批处理文件的路径是完全不准确的。例如,Windows XP似乎有一个奇怪的错误,即如果将一个文件拖放到程序/脚本上,并将该文件作为要执行的程序的参数,程序将从c:\ Documents and Settings中神奇地启动\\(用户名)目录而不是其自己的文件夹。 – Nyerguds 2015-06-10 07:04:21

+1

似乎它自XP以来发生了变化,但在Win7中似乎是从参数文件的路径执行,而不是......这仍然是错误的。 – Nyerguds 2015-06-10 07:07:19

0

您可以使用%~dp0来获得当前/工作目录:

%~d0 
相关问题