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

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

Ветеран


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

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


написал маленький батничек для смены буквы для CD\DVD драйвов, рассчитан на русскую WinXP (т.е. подразумевается что diskpart выводит информацию о томах на русском) буду рад если кто-нибудь из знатоков CMD оптимизирует.
Запускать последней командой из runonce
Цитата:
:cdassign
rem Создаем текстовый файл с информацией о томах
echo list volume > %temp%\dscript.txt
diskpart /s dscript.txt > %temp%\log.txt

rem Разбираем этот файл построчно, вызывая процедурку для нахождения томов с типом CD и DVD
FOR /F "skip=8 tokens=*" %%A IN (%temp%\log.txt) do @call :findCD "%%A"
del %temp%\log.txt
rem Создаем скрипт для diskpart
FOR %%B IN (%VOL1% %VOL2% %VOL3%) do (
set v=%%B
IF DEFINED v call :chCDlet %%B)
echo list volume >> %temp%\dscript.txt
rem Выполняем скрипт с записью лога работы в %temp%\log.txt
diskpart /s dscript.txt >> %temp%\log.txt
del %temp%\dscript.txt
goto END

:chCDlet
rem Присваиваем CDDVD драйвам в порядке очереди буквы XYZ
If %1==0 set let=X
If %1==1 set let=Y
If %1==2 set let=Z
rem Добавляем команды смены буквы в скрипт diskpart для каждого из драйвов
echo rem Change CDDVD Drive%1 Letter >> %temp%\dscript.txt
echo select volume %1 >> %temp%\dscript.txt
echo assign letter=%let% >> %temp%\dscript.txt
echo Буква CDDVD Привода (Том %1) будет изменена на %let% >> %temp%\log.txt
goto :EOF

:findCD
rem Высчитываем какие тома являются CD/DVD драйвами
rem Присваиваем им переменные VOL#
set line=%~1
set CDNUM=VOL1
IF DEFINED VOL1 set CDNUM=VOL2
IF DEFINED VOL2 set CDNUM=VOL3
If %line:~34,3%==DVD set %CDNUM%=%line:~4,1%
If %line:~34,2%==CD set %CDNUM%=%line:~4,1%
goto :EOF

:END
Подобным же образом можно менять буквы дисков для каких-то своих разделов, основываясь на метке тома этого раздела, можно и по другому, например я использую встроенную в winxp утилиту mountvol.exe

Последний раз редактировалось EgOrus, 18-10-2006 в 12:51.


Отправлено: 16:42, 17-10-2006 | #82