如何在Windows中确定自动启动中的当前驱动器号?

时间:2012-02-14 09:01:35

标签: windows windows-7 batch-file

在Windows 7下,我为usb设备创建了一个自定义自动启动条目。此条目在我的硬盘上启动批处理文件,而不是在USB驱动器上。我的硬盘总是有相同的驱动器号。如何告知批处理文件,将哪个驱动器号分配给USB设备或如何在批处理文件中获取该文件?

我发现它不是%~d0

2 个答案:

答案 0 :(得分:1)

我很惊讶%~d0不起作用,但你的批处理文件仍在运行。

如果您可以为USB设备分配唯一的卷标,则可以尝试以下操作:

for /f %%D in ('wmic volume get driveLetter^, label ^| find "yourLabel"') do set drive=%%D

阅读评论后编辑 - 好的,%~d0不起作用,因为它只会给你的bat文件所在的驱动器号 - 你的硬盘驱动器。

我仍然认为WMIC是您需要的实用工具。如果您正在寻找特定的设备,那么我认为我原来的答案可能有用。另一种可能性是在wmic命令中用serialNumber替换标签。插入您的设备,确定它是否是手动的驱动器号,然后从命令行键入wmic volume get driveLetter, serialNumber以确定您要查找的序列号。然后,您可以在批处理文件中使用以下内容

for /f %%D in ('wmic volume get driveLetter^, serialNumber ^| find "yourSerialNumber"') do set drive=%%D

另一种可能性是将批处理文件放在usb设备上。如果您可以自动启动以从设备启动批处理文件,那么您可以使用%~d0来获取指定的驱动器号。

答案 1 :(得分:0)

cd /d %~dp0\ 

等于cd / d d:\ currentpath \

%0是您的批处理文件路径