3

Итак, я запускаю эту команду:

FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"

и вывод:

"058-26174-078"

но проблема в том, что я хочу имя без кавычек

как это: 058-26174-078

2 ответа2

2

Как удалить кавычки из переменной в оболочке cmd ?

Вам нужно использовать расширение ~ параметра вместе с for /f чтобы сделать это.

Используйте следующую команду:

for /f %i in ('FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"') do @echo %~i

Чтобы установить переменную и в командном файле, используйте следующую команду:

for /f %%i in ('FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"') do @set MyVariable=%%~i

Заметки:

  • %~1 Расширить %1 удалив все окружающие кавычки (")
  • В пакетном файле замените %i на %%i и %~i на %%~i

Дальнейшее чтение

0

Используйте команду for, вот пример:

@echo off
FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 set quote=@fname"
for %%a in (%quote%) do set dequote=%%~a

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .