如何在1周后找到最新更新的文件?

时间:2014-10-28 10:37:09

标签: windows batch-file command-line cmd

我有一个目录,那里有大约1000个文件。 我想获得自7天以来最后更新的文件名?并将此文件名写入另一个文件。 我正在使用Windows 2012,我希望使用批处理脚本。我怎么能这样做?

更新: 我试过了

@echo off
setlocal enableextensions disabledelayedexpansion
set "folder=c:\some\where"
(  for /f "tokens=*" %%a in ('
      robocopy "%folder%" "%folder%" * /l /nocopy /is /maxage:7 /njh /njs /nc /ns /ndl 
   ') do echo(%%a
) > outputFile.txt

但是,我收到此错误:

ERROR : No Destination Directory Specified.
Simple Usage :: ROBOCOPY source destination /MIR
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir  (drive:\path or \\server\share\path).
/MIR :: Mirror a complete directory tree.
For more usage information run ROBOCOPY /?

**** / MIR可以删除文件并复制它们!

1 个答案:

答案 0 :(得分:2)

@echo off
    setlocal enableextensions disabledelayedexpansion
    set "folder=c:\some\where"
    (  for /f "tokens=*" %%a in ('
          robocopy "%folder%" "%folder%" * /l /nocopy /is /maxage:7 /njh /njs /nc /ns /ndl 
       ') do echo(%%a
    ) > outputFile.txt

这使用robocopy命令检索所需文件的列表。它只列出/l,而不复制任何/nocopy,所有文件,包括那些被视为同一文件/is的文件,最大年龄为7天/maxage:7,没有标题/njh,摘要/njs,文件类/nc,尺寸/ns或目录列表/ndl

该命令的输出将包含一些使用for循环删除的空白列。