Как правильно получить букву диска установленного виртуального жесткого диска в пакетном скрипте


0

Как правильно получить букву диска установленного виртуального жесткого диска в сценарии. Является ли это возможным?

list volume
select volume <volume_number_of_attached_VHD>
assign letter=v
exit

в этой части скрипта необходимо указать количество томов, которое может время от времени различаться.

Кроме того, если это не невозможно, у меня есть идея поместить метку в этот виртуальный том на ранней стадии, а затем на более поздней стадии определить количество томов, ищущих диск с этой меткой. Может ли эта идея быть реализована?

Благодарю.

Ответы:


3

На всякий случай, если вам все еще интересно, я хотел бы опубликовать это где-нибудь в Интернете, так как я только что понял это и не видел, чтобы кто-то еще отвечал на этот вопрос раньше.

Это находит DVD-ROM и назначает букву v.

for /F "tokens=2" %%i in ('%comspec% /c echo list vol ^| diskpart ^| find "DVD-ROM"') do %comspec% /c echo select vol %%i ^& echo assign letter=v|diskpart


0

Просто пытаюсь понять и объяснить, что происходит в ответе гика на мой вопрос.

for ... in () do ... это конструкция цикла

Переключатель / F - это цикл по тексту, on tokens = n - Указывает, какие пронумерованные элементы следует читать из каждой строки (по умолчанию = 1). Чтобы упростить задачу: взять n-й столбец необработанной строки, разделенный разделителем (пробел) символ по умолчанию)

Подробнее о / F: https://ss64.com/nt/for_f.html

% comspec% - если я не ошибаюсь - это просто имя интерпретатора командной строки - в большинстве случаев 'cmd'

Я подозреваю, что ^ | и ^ & - это вид трубопровода ... или последующее выполнение с соответствием || и && в Linux. поправь меня если я не прав ...

Извините, у вас нет окон под рукой, нет возможности проверить, но вы можете принять ответ заранее, так как другие участники считают его полезным.


| предназначен для трубопроводов и для объединения команд ^ является escape-символом || и && также работают в командной строке и весьма полезны =)
geek_01
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.