2017-02-10 36 views
0

我們使用批處理文件將文件或文件夾備份到外部介質(如閃存驅動器或可擦寫CD-ROM或DVR磁盤)。我將從USB閃存驅動器開始。確定是否通過批處理文件提供特定驅動器盤符

我們建立在我們啓動所需的驅動器盤符所以它的環境的一部分:設置ZDRIVE1 = F

所以,希望能夠檢查%ZDRIVE1%:可用,如果沒有,提示用戶插入閃存驅動器,重新測試,它們移動到我們開始將文件複製到指定閃存驅動器的部分。

我們有一個名爲dskquery的工具,基本上這樣做了,但沒有人能找到源碼,所以我們可以重新編譯爲32/64位兼容性。

+0

'WMIC邏輯磁盤其中「DRIVETYPE = 2 「獲取名稱/值」將爲您提供連接的閃存驅動器列表。將其更改爲「where」drivetype = 2或drivetype = 5「'以包含CD-ROM驅動器。我不知道有什麼簡單的方法來確定驅動器中是否安裝了可寫的CD。如果你想得到更徹底的答案,你應該編輯你的問題併發布你寫的代碼,解釋你遇到的問題。 – rojo

+0

@rojo這並非萬無一失。我有一個可移動的USB驅動器,它自己報告爲drivetype 3. – DavidPostill

回答

0
@echo off 
Set "ZDRIVE1=F" 
:test 
pushd %ZDRIVE1%: 
if "%errorlevel%" == "0" (
echo the drive is aviable. 
pause 
goto :eof 
) else (
echo please insert the flash drive. 
pause 
) 
goto test 

第8行跟goto yourlabel
還一個USB閃存驅動器的驅動器代替goto :eof可以G:H:等,沒有必要F: ...

+0

爲什麼不直接使用'IF EXIST'。當它成功的時候,我也會給他們一個彈出。 – Squashman

相關問題