2011-05-24 89 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:"