2014-10-28 68 views
0

我有一個目錄,裏面有大約1000個文件。 我想獲取自7天以來最後更新的文件名?並將此文件名寫入另一個文件。 我正在使用Windows 2012,我想用批處理腳本來做到這一點。我該怎麼做?如何查找自1周以來的最新更新文件?

更新: 我試過

@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可以刪除文件,以及將它們複製!

回答

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循環刪除。