在Windows 7下,我爲USB設備創建了自定義自動啓動條目。此條目在我的硬盤上啓動批處理文件,而不是在USB驅動器上。我的硬盤總是有相同的盤符。我該如何告訴批處理文件,哪個驅動器號被分配給USB設備,或者我怎樣才能在批處理文件中得到它?如何確定Windows中自動啓動中的當前驅動器號?
我發現這不是%〜D0
在Windows 7下,我爲USB設備創建了自定義自動啓動條目。此條目在我的硬盤上啓動批處理文件,而不是在USB驅動器上。我的硬盤總是有相同的盤符。我該如何告訴批處理文件,哪個驅動器號被分配給USB設備,或者我怎樣才能在批處理文件中得到它?如何確定Windows中自動啓動中的當前驅動器號?
我發現這不是%〜D0
我很驚訝%〜 d0不起作用,但你的批處理文件運行。
如果你可以指定一個唯一的卷標您的USB設備,那麼你可以嘗試以下方法:
閱讀評論後for /f %%D in ('wmic volume get driveLetter^, label ^| find "yourLabel"') do set drive=%%D
編輯 - OK,%〜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
獲取分配的驅動器號。
cd /d %~dp0\
它等於CD/DD:\ currentpath \
%0批處理文件路徑
我看到了這種誤解:批處理文件在我的硬盤上,而不是在USB驅動器上。我的硬盤總是有相同的名稱。 – Zurechtweiser 2012-02-14 14:07:16
我看到了這種誤解:批處理文件位於我的硬盤上,而不是usb驅動器上。我的硬盤總是有相同的名稱。 – Zurechtweiser 2012-02-14 14:06:07
@RichartBremer - 我已經更新了答案,看看這是否有幫助。 – dbenham 2012-02-14 15:44:35