获取具有特定扩展名的所有文件

Gar*_*ite 7 cmd batch-file

我正在尝试从目录中获取具有特定扩展名的文件。为此,我使用以下批处理文件代码:

for %%f in (.\*.ext) do (
     echo %%f
)
Run Code Online (Sandbox Code Playgroud)

这工作正常,除非我有一个带有扩展名的文件.extsomething
我尝试添加$通配符以仅获得完全匹配,但它没有显示任何结果。

for %%f in (.\*.ext$) do (
     echo %%f
)
Run Code Online (Sandbox Code Playgroud)

既然*接受通配符,为什么$不考虑通配符呢?
如何只获取具有确切扩展名的文件?

Ger*_*ard 11

只需添加一条if语句:

@echo off
for %%f in (*.ext) do (
    if "%%~xf"==".ext" echo %%f
)
Run Code Online (Sandbox Code Playgroud)