-1

我需要一个 Windows 批处理代码来在特定文件夹的所有子文件夹中的所有文件中查找最后修改的文件。

它似乎并不像看起来那么简单。

有些文件可能在同一分钟内被修改,但在不同的秒内。我只需要最后一个。

4

1 回答 1

0
@echo on
    setlocal enableextensions disabledelayedexpansion

    set "root=c:\somewhere"

    for %%r in ("%root%\.") do for /f "tokens=3,*" %%a in ('
        robocopy "%%~fr." "%%~fr." /l /nocopy /s /is /njh /njs /ndl /nc /ns /ts 
        ^| sort /r 
        ^| findstr /n "^"
        ^| findstr /l /b /c:"1:"
    ') do echo %%b

此代码使用robocopy(原生用于 Vista 和更高版本的操作系统,可从 Microsoft 下载 XP 或 2003)来获取具有时间戳yyyy-mm-dd hh:nn:ss格式的文件列表,按降序排序,然后仅第一行(即较新的文件) 被检索。

于 2014-11-12T19:51:31.843 回答