在任何主机上的批处理文件中解析usb驱动器号

时间:2011-05-24 11:51:52

标签: batch-file dos

我查看了我的问题的可能解决方案,但我担心我的知识水平不允许我正确地提出问题。

我的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驱动器上并从那里运行它,就像我这样做的那样。现在这只是我需要解决的挑战!

感谢您的帮助

2 个答案:

答案 0 :(得分: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:"

答案 1 :(得分:0)

您可以尝试将USB上的批处理文件命名为独特的,不可能存在于任何其他驱动器上,例如: foob​​arsaysblah.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

不是很优雅,但完成工作......