В простейшем случае партии язык включает в себя конструкцию для этой задачи
if exist *.elf (
:: file exists - do something
) else (
:: file does not exist - do something else
)
где if exist
испытают для существования элемента в текущем или указать папку, которая соответствует указанному имени/подстановочным выражения.
Хотя в этом случае вам больше ничего не понадобится, вы должны принять во внимание, что if exist
не имеет никакого значения между файлом и папкой. Если используемое вами имя/подстановочное выражение соответствует имени папки, то значение if exists
будет равно true.
Как обеспечить, чтобы мы тестировали файл? Самое простое решение - использовать команду dir
для поиска файлов (исключая папки). Если это не удается (повышает уровень ошибок), нет файлов, соответствующих условию.
dir /a-d *.elf >nul 2>&1
if errorlevel 1 (
:: file does not exist - do something
) else (
:: file exists - do something else
)
Или, используя условное исполнение (только немного языка Генерального Общей Аббревиатуры для кода выше)
dir /a-d *.elf >nul 2>&1 && (
:: file does exist - do something
) || (
:: file does not exist - do something else
)
Что она делает это выполнить dir
команды на поиск *.elf
, за исключением папок (/a-d
) и отправку всех выводит на nul
устройство, то есть отбрасывает выход. Если уровень ошибок поднят, соответствующий файл не найден.