【问题标题】:Resolve usb drive letter in batch file on any host computer解析任何主机上批处理文件中的 USB 驱动器号
【发布时间】:2011-05-24 11:51:51
【问题描述】:

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

我的 USB 驱动器名为 CRUISER,我希望通过主机上的批处理文件运行几个应用程序。由于我不知道驱动器号是什么,如何在批处理文件中按名称解析驱动器?

这是我当前主机端批处理文件中的内容。 (从 REM 和 pause 语句可以看出,我一直在测试......)

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

感谢您的帮助

【问题讨论】:

  • 您是否尝试为您的 USB 驱动器分配一个固定的驱动器号?您可以使用控制面板的“计算机管理”工具或第 3 方 USBDLM 实用程序。

标签: batch-file dos


【解决方案1】:

cruiser.txt放在U盘根目录下,使用以下代码:

@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:"

【讨论】:

    【解决方案2】:

    您可以尝试将 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
    

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

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 2019-09-26
      相关资源
      最近更新 更多