我想使用批处理脚本检查文件夹中的特定文件扩展名。
就像这样:
if exist <any file with extension .elf>
do something
else
do something else
这里的文件名可以是任何东西,但只有扩展名(.elf)很重要。
我想使用批处理脚本检查文件夹中的特定文件扩展名。
就像这样:
if exist <any file with extension .elf>
do something
else
do something else
这里的文件名可以是任何东西,但只有扩展名(.elf)很重要。
if exist *.elf (
:: file exists - do something
) else (
:: file does not exist - do something else
)
if exist
命令用于测试当前目录或指定文件夹中是否存在与指定名称/通配符表达式匹配的元素。
虽然在这种情况下似乎不需要其他内容,但应考虑到 if exist
命令没有区分文件和文件夹。如果使用的名称/通配符表达式匹配到一个文件夹名称,if exist
也会评估为 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
)
就像你想象的那么简单:
if exist *.elf echo yes