Como faço para definir uma variável para um nome de volume da unidade?
O arquivo em lote a seguir mostra como fazer isso usando o comando for /f
:
@echo off
setlocal
setlocal enabledelayedexpansion
set /p _drive=Enter drive letter:
for /f "usebackq skip=1" %%i in ('wmic logicaldisk where name^="%_drive%:" get volumename') do (
set _volume=%%i
goto :done
)
:done
@echo %_volume%
tree %_drive%: /a > "C:\Drivelists\%_volume%.txt"
endlocal
Notas:
-
skip=1
é usado para pular a linha de cabeçalhowmic
. -
goto :done
é usado para pular a linha em branco extrawmic
. -
C:\Drivelists\
já deve existir. - Nem todas as unidades têm nomes de volume.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- para / f - Comando Loop contra os resultados de outro comando.
- definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.
- árvore - Exibe a estrutura de pastas de uma unidade ou caminho como uma árvore gráfica.Exiba a estrutura de pastas de uma unidade ou caminho como uma árvore gráfica.
- wmic - Comando de instrumentação de gerenciamento do Windows.