Использование сценария .bat на USB-накопителе Я хотел бы изменить букву диска без использования стороннего программного обеспечения и любых требований к системе, в которой подключен USB, за исключением того, что это Windows XP или выше.Найдите текущий номер тома diskpart в .bat
Чтобы получить текущую букву диска я использую
набор ПРИВОД =% ~ dp0
Что E: например
Прежде чем я могу реально изменить E: 's привод письмо, как я могу автоматически узнать номер тома в списке томов diskpart?
выберите объем E:
явно не будет работать, вы можете использовать только п для числа дисков.
EDIT:
Благодаря @wOxxOm для решения. Вот мой окончательный .bat скрипт я теперь использовать для автоматического изменения буквы диска привода сценарий находится на U: \
@echo off
set DRIVERAW=%~dp0
set DRIVE=%DRIVER:~0,1%
if %DRIVE%==U exit
for /f "tokens=2,3" %%a in ('echo list volume ^| diskpart') do (
if %%b==%DRIVE% set VOLNO=%%a
)
del %DRIVERAW%\diskpart.txt
echo select volume %VOLNO% > %DRIVERAW%\diskpart.txt
echo assign letter=U >> %DRIVERAW%\diskpart.txt
echo ^G
diskpart /s %DRIVERAW%\diskpart.txt
exit
Вы могли бы заменить два U с любой другой буквой диска вы хотите, если он не должен быть установлен на U: \
Просто остаться уверен, что ничего не уже установлено на U: \
Видимо [дубликат] (http://serverfault.com/questions/62578/how-to-get-a-list-of-drive-letters-on-a-system-through-a-windows-shell -bat-cmd), если речь идет только о поиске буквы диска. – wOxxOm
@wOxxOm Пожалуйста, прочитайте, прежде чем говорить, что это дубликат, я уже читал все о поиске букв дисков, но это не мой вопрос здесь. Я знаю букву диска, но мне нужен номер объема, используемый в diskpart. – RapidFireArts
@wOxxOm Извините, но я не понимаю, как это работает. Я попытался запустить 'echo list volume | diskpart' в файле bat и в cmd вручную, но все, что он делает, - это открытие diskpart. Я не знаком с результатами синтаксического анализа, использующими for/f, хотя я раньше использовал cmd:/ – RapidFireArts