Como faço para remover as aspas de uma variável em um cmd
shell?
Você precisa usar a extensão do parâmetro ~
junto com for /f
para fazer isso.
Use o seguinte comando:
for /f %i in ('FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"') do @echo %~i
Para definir uma variável e em um arquivo em lotes, use o seguinte comando:
for /f %%i in ('FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"') do @set MyVariable=%%~i
Notas:
-
%~1
Expandir%1
removendo as aspas vizinhas (") - Em um arquivo de lote, substitua
%i
por%%i
e%~i
por%%~i
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.
- parâmetros - Um argumento de linha de comando (ou parâmetro) é qualquer valor passado para um script em lote.