Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для ArmDeForcer

Старожил


Сообщения: 262
Благодарности: 44

Профиль | Отправить PM | Цитировать


Ну, например так, с условием, что в системе 1 USB диск:

Код: Выделить весь код
setlocal EnableDelayedExpansion
set Q='wmic  diskdrive where "Interfacetype="USB""   assoc /assocclass:Win32_DiskDriveToDiskPartition'
for /f "tokens=2,3,4,5 delims=,= " %%a in (%Q%) do (
  set hd=%%a %%b, %%c %%d
  
  call :_LIST_LETTER !hd!)
goto :_next

:_LIST_LETTER
(echo %1 |find  "Disk ") >nul || goto :eof
for /f "tokens=3 delims==" %%a in ('WMIC Path Win32_LogicalDiskToPartition  ^|find %1') do set TMP_letter=%%a
set MYUSB=%TMP_letter:~1,2%
echo YOUR USB DRIVE - %MYUSB% %1
goto :eof

:_next

:eof
переменная MYUSB - и будет буква USB-драйва

Цитата shao:
И ещё (не совсем в тему, но приблизительно) - как быть в таком случае:
Вот , здесь например, всё понятно:
Код:
FOR %%d IN (c 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 %%d:\WIN51 SET CDROM=%%d:
А если у нас не CDROM, а USB-flash ? »
Это совсем неважно, какой интерфейс у искомого тома. Надо понять, что происходит в этой строке. Переменной CDROM (можешь переименовать ее во что угодно) присваивается буква диска, у которого в корневой директории лежит файл с названием WIN51. То есть, если такой файл находится только на флешке - тогда все пройдет нормально, если же он находится и на флешке и в корневой директории другого диска (в том числе и CD), или его вообще нет ни на одном диске - то это не сработает.

Вопрос, что конкретно надо сделать? Если нужно, чтоб определялся конкретный USB, подключенный к системе, самый простой способ, создать в корневой директории этой флешки текстовой файл с уникальным названием (допустим - myusb.txt), и тогда он найдется очень легко:

Код: Выделить весь код
FOR %%d 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 %%d:\myusb.txt SET USBdrv=%%d:
переменной USBdrv будет присвоена буква USB флешки

Последний раз редактировалось ArmDeForcer, 29-01-2011 в 14:40.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:16, 29-01-2011 | #11