Como obter corretamente a letra da unidade de um VHD montado em script em lote

0

Como obter corretamente a letra da unidade de um VHD montado no script. É possível?

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

Nesta parte do script, é necessário especificar o número de volume, que pode ser diferente de tempos em tempos.

Além disso, se não for impossível, tenho uma ideia de colocar algum rótulo nesse volume virtual no estágio inicial e, em um estágio posterior, determinar o número de volumes pesquisando a unidade com esse rótulo. Esta ideia pode ser implementada?

Obrigado.

    
por CEO at Apartico 14.05.2014 / 18:21

2 respostas

3

Para o caso de você ainda se importar, eu queria postar isso em algum lugar na internet, já que percebi isso e não vi ninguém responder a essa pergunta antes.

Isto encontra o DVD-ROM e atribui a letra 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

    
por 04.03.2015 / 02:00
0

Apenas tentando entender e explicar o que está acontecendo na resposta do geek à minha pergunta.

para ... in () faz ... é uma construção de loop

Interruptor

/ F - passa pelo texto, tokens = n - Especifica quais itens numerados devem ser lidos em cada linha (padrão = 1) Para simplificar: pegar a n-ésima coluna da string raw, delimitada por delimitador (um símbolo de espaço por padrão)

Mais sobre para / F: link

% comspec% - se não me engano é apenas um nome de intérprete de linha de comando - 'cmd' na maioria dos casos

Eu suspeito que ^ | e ^ & - é uma espécie de canalização ... ou consequente execução com correspondência || e & & no linux. me corrija se eu estiver errado ...

Desculpe, não há janelas na mão sem chance de verificar, mas aceitando uma resposta com antecedência, pois os outros membros acham útil.

    
por 18.06.2018 / 22:21