Разрешить букву USB-диска в командном файле на любом хост-компьютере - PullRequest
1 голос
/ 24 мая 2011

Я посмотрел на возможные решения для моего вопроса, но боюсь, что мой уровень знаний не позволяет мне правильно задать вопрос.

Мой 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-накопитель и запустить его оттуда, как я это сделал.Теперь это просто вызов, который мне нужно решить!

Спасибо за помощь

Ответы [ 2 ]

1 голос
/ 23 ноября 2013

Поместите 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:"
0 голосов
/ 31 мая 2011

Вы можете попробовать назвать пакетный файл на 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

Не очень элегантно, но выполняет свою работу ...

...