使用批处理脚本检查文件夹中是否存在具有特定文件扩展名的文件
check if file with certain file extension present in folder using batch script
我想使用批处理脚本检查文件夹中的某个文件扩展名
就像,
if exist <any file with extension .elf>
do something
else
do something else
这里的文件名可以是任意的,但只有扩展名(.elf)是重要的
如您所想的简单:
if exist *.elf echo yes
在最简单的情况下,批处理语言包括用于此任务的结构
if exist *.elf (
:: file exists - do something
) else (
:: file does not exist - do something else
)
其中 if exist
将测试当前或指示文件夹中是否存在与指示的 name/wildcard 表达式匹配的元素。
虽然在这种情况下您似乎不需要任何其他东西,但您应该考虑到 if exist
在文件和文件夹之间没有区别。如果您使用的 name/wildcard 表达式与文件夹名称相匹配,if exists
将计算为真。
如何确保我们正在测试文件?最简单的解决方案是使用 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
设备,即,丢弃输出。如果提高了错误级别,则没有找到匹配的文件。
我想使用批处理脚本检查文件夹中的某个文件扩展名
就像,
if exist <any file with extension .elf>
do something
else
do something else
这里的文件名可以是任意的,但只有扩展名(.elf)是重要的
如您所想的简单:
if exist *.elf echo yes
在最简单的情况下,批处理语言包括用于此任务的结构
if exist *.elf (
:: file exists - do something
) else (
:: file does not exist - do something else
)
其中 if exist
将测试当前或指示文件夹中是否存在与指示的 name/wildcard 表达式匹配的元素。
虽然在这种情况下您似乎不需要任何其他东西,但您应该考虑到 if exist
在文件和文件夹之间没有区别。如果您使用的 name/wildcard 表达式与文件夹名称相匹配,if exists
将计算为真。
如何确保我们正在测试文件?最简单的解决方案是使用 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
设备,即,丢弃输出。如果提高了错误级别,则没有找到匹配的文件。