Batch file 获取目录中具有特定扩展名的最新文件

Batch file 获取目录中具有特定扩展名的最新文件,batch-file,Batch File,下面的批处理命令将获取文件夹中的最新文件,但是我只查找具有特定扩展名的文件。有人能解释一下如何指定扩展名,即jpg吗 现在还早。。。我想出来了: 'DIR "C:\Jenkins\Releases\C9metro\*.jpg" 我建议使用以下几行: FOR /F "eol=| delims=" %%I IN ('DIR "C:\Jenkins\Releases\C9metro\*.jpg" /A-D /B /O-D /TW 2^>nul') DO ( SET NewestFile

下面的批处理命令将获取文件夹中的最新文件,但是我只查找具有特定扩展名的文件。有人能解释一下如何指定扩展名,即jpg吗


现在还早。。。我想出来了:

'DIR "C:\Jenkins\Releases\C9metro\*.jpg"

我建议使用以下几行:

FOR /F "eol=| delims=" %%I IN ('DIR "C:\Jenkins\Releases\C9metro\*.jpg" /A-D /B /O-D /TW 2^>nul') DO (
    SET NewestFile=%%I
    GOTO FoundFile
)
ECHO No *.jpg file found!
GOTO :EOF

:FoundFile
ECHO Newest *.jpg file is: %NewestFile%
参数/A-D确保忽略偶尔以字符串.jpg结尾的子目录

参数/B打开“裸格式”,在这种情况下,通过命令DIR仅返回不带路径的文件名

参数/O-D的结果是按日期按从最新到最旧的相反顺序列出的目录获取找到的文件

参数/TW确保上次修改时间写入访问用于按日期顺序列出找到的JPEG文件

循环在第一个找到的文件匹配通配符模式*.jpg时退出,使此方法比将所有文件名分配给变量NewestFile(直到找到最后一个文件)更快

FOR /F "eol=| delims=" %%I IN ('DIR "C:\Jenkins\Releases\C9metro\*.jpg" /A-D /B /O-D /TW 2^>nul') DO (
    SET NewestFile=%%I
    GOTO FoundFile
)
ECHO No *.jpg file found!
GOTO :EOF

:FoundFile
ECHO Newest *.jpg file is: %NewestFile%