Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для ArmDeForcer

Старожил


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

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


В продолжение об:

Цитата Iska:
Сначала Вы пишете, что:
Цитата:
единственное - вначале батник просит создать текстовой файл с названием myusb.txt в корневой директории флешки, чтобы определить ее букву и не перепутать с другим диском...

а затем в скрипте «ручками» предлагаете указывать диск. Буквально на днях была тема по решению близкой задачи — найти взаимное соответствие Диск⇔Раздел⇔Логический диск. Переменные не очищаются, а команды «setlocal» нету »
Пытаюсь решить проблему с созданием вручную файла myusb.txt

Значит, имеется код, который выводит буквы и номера доступных USB дисков...
Пользователь выбирает нужный драйв... а дальше, как мне ассоциировать номер диска с его буквой и задать это в переменные?

Код: Выделить весь код
@echo off

setlocal EnableDelayedExpansion
set Q='wmic  diskdrive where "interfacetype="USB""   assoc /assocclass:Win32_DiskDriveToDiskPartition'
echo LIST OF USB-DRIVES FOUND ON YOUR SYSTEM:
for /f "tokens=2,3,4,5 delims=,= " %%a in (%Q%) do (
  set hd=%%a %%b, %%c %%d
  
  call :_LIST_LETTER !hd!)
goto :_END

:_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 Part_letter=%TMP_letter:~1,2%
echo %1 %Part_letter% 

goto :_EOF


:_END
choice /c 0123456789 /m "CHOOSE YOUR USB-DRIVE NUBER:"
set /a DRVnum=%ERRORLEVEL%-1
echo YOU CHOOSED USB-DRIVE NUMBER %DRVnum% 

pause
:_EOF

Отправлено: 13:37, 24-01-2011 | #6