Итак, я запускаю эту команду:
FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"
и вывод:
"058-26174-078"
но проблема в том, что я хочу имя без кавычек
как это: 058-26174-078
Итак, я запускаю эту команду:
FORFILES /S /M *.dmg /C "cmd /c if @fsize equ 1595694080 echo @fname"
и вывод:
"058-26174-078"
но проблема в том, что я хочу имя без кавычек
как это: 058-26174-078
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
Используйте команду 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.