在Windows 7下,我为usb设备创建了一个自定义自动启动条目。此条目在我的硬盘上启动批处理文件,而不是在USB驱动器上。我的硬盘总是有相同的驱动器号。如何告知批处理文件,将哪个驱动器号分配给USB设备或如何在批处理文件中获取该文件?
我发现它不是%~d0
答案 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是您的批处理文件路径