2011-05-24 76 views
1

我研究了我的問題的可能解決方案,但是恐怕我的知識水平不允許我正確地提出問題。在任何主機上解決USB驅動器批處理文件的問題

我的USB驅動器被命名爲CRUISER,並且我有幾個應用程序可以通過主機上的批處理文件運行。由於我不知道驅動器盤符是什麼,我怎樣才能在批處理文件中通過名稱解析驅動器?

這是我在我目前的主機端批處理文件。 (你可以通過REM看到並暫停聲明,我一直在測試....)

REM Start Portable Apps and Signup Shield Suite 
cd C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Temp\SignupShield\ 
del signupshieldportable.exe 
REM dir 
REM pause 
cd \ 
%CRUISER% 
REM dir 
REM pause 
start StartPortableApps.exe 
cd PortableApps 
REM dir 
REM pause 
start SignupShieldPortable.exe 
rem pause 

所有我想做的事,就是插上我的主機上的驅動器,運行基於主機的批處理文件,並找到我的CRUISER驅動器,而不管分配的驅動器號,然後運行這兩個應用程序。我知道我可以將批處理文件放在USB驅動器上,然後從那裏運行它,因爲我已經這樣做了。現在,這只是我需要解決的挑戰!

感謝您的幫助

+0

你試過分配一個固定的驅動器號到USB驅動器?您可以使用控制面板「計算機管理」工具或第三方USBDLM實用程序。 – 2011-05-25 19:48:59

回答

0

您可以嘗試命名上的USB獨特的東西,不可能任何其他驅動器上存在,例如批處理文件: foobarsaysblah.bat

然後將以上批次可以啓動兩個你想要的應用。

然後在主機bat文件,你只需要添加行對於大多數驅動器號和輸出錯誤NUL,例如:

d:\foobarsaysblah.bat 2>nul 
e:\foobarsaysblah.bat 2>nul 
f:\foobarsaysblah.bat 2>nul 
g:\foobarsaysblah.bat 2>nul 
h:\foobarsaysblah.bat 2>nul 
i:\foobarsaysblah.bat 2>nul 

不是很優雅,但能夠完成任務......

1

cruiser.txt在USB驅動器的根,並使用此代碼:

@echo off 
for %%a in (d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%a:\cruiser.txt" set "drv=%%a:"