我试图获取上周在某个目录中修改过的文件的所有文件名(包含子目录)。我知道下面的脚本返回每个子目录中的最后一个修改过的文件。是否有可能做我尝试用批处理脚本做的事情?如果可能,应对以下脚本进行哪些更改?在此先感谢:)
@echo off
setlocal EnableDelayedExpansion
for /D %%G in (*) do (
echo %%G
cd %%G\
for /f "delims=" %%F in ('dir /b/a-d/tw') do (
set last=%%F
)
echo !last!
cd..
pause
)
答案 0 :(得分:0)
/D date Selects files with a last modified date greater
than or equal to (+), or less than or equal to
(-), the specified date using the
"dd/MM/yyyy" format; or selects files with a
last modified date greater than or equal to (+)
the current date plus "dd" days, or less than or
equal to (-) the current date minus "dd" days. A
valid "dd" number of days can be any number in
the range of 0 - 32768.
"+" is taken as default sign if not specified.
查看forfiles /?。有很多示例命令。
答案 1 :(得分:0)
这可以使用Robocopy提供列表 最近的文件显示在过去7天的底部,最旧的顶部。
将文件夹变量更改为您需要检查的树。
@echo off
:: Do NOT remove /L from the robocopy line
set "folder=d:\data"
for /f "tokens=1,2,*" %%a in ('robocopy "%folder%" "%folder%" *.* /L /s /maxage:7 /nocopy /is /njh /njs /ndl /nc /ns /ts ^|sort ') do echo %%c
pause