В продолжение об:
Цитата 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