下面的批处理命令将为我提供文件夹中的最新文件,但我只查找具有特定扩展名的文件。任何人都可以解释如何指定扩展名(即.jpg
)
FOR /F "delims=|" %%I IN ('DIR "C:\Jenkins\Releases\C9metro" /B /O:D') DO SET NewestFile=%%I
答案 0 :(得分:2)
现在很早......想出这个:
'DIR "C:\Jenkins\Releases\C9metro\*.jpg"
答案 1 :(得分:1)
我建议使用以下几行:
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
导致按日期排列 DIR 找到的文件,顺序从最新到最旧。
参数/TW
确保最后修改时间(写访问)用于按日期顺序列出找到的JPEG文件。
在匹配通配符模式*.jpg
的第一个找到的文件上退出循环,这使得此方法比将所有文件名分配给变量NewestFile
直到找到的最后一个文件更快。