【问题标题】:Get newest file in directory with specific extension获取具有特定扩展名的目录中的最新文件
【发布时间】:2016-03-29 12:53:24
【问题描述】:

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

FOR /F "delims=|" %%I IN ('DIR "C:\Jenkins\Releases\C9metro" /B /O:D') DO SET NewestFile=%%I

【问题讨论】:

    标签: batch-file


    【解决方案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 直到找到最后一个文件更快。

    【讨论】:

      【解决方案2】:

      现在还早...想通了这个:

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

      【讨论】:

        猜你喜欢
        • 2014-07-30
        • 2021-06-08
        • 2019-11-03
        • 2014-09-21
        • 1970-01-01
        • 2010-12-03
        • 1970-01-01
        • 2019-06-14
        • 2022-07-18
        相关资源
        最近更新 更多