Board logo

标题: 如何列出某天到现在修改过的文件,修改时间,全路径 [打印本页]

作者: sealn     时间: 2007-4-22 06:26    标题: 如何列出某天到现在修改过的文件,修改时间,全路径

求教:
如何列出某天以后(如070419到现在)修改过的文件,包括修改时间,全路径,效果如下
2007-04-20 9:35 c:\day\xxx.doc
2007-04-20 09:35 c:\day\xx\x.doc
2007-04-21 12:35 c:\day\xxx\888.doc
----------------------------------------------------------

在论坛找了后自己鼓捣了会,只能实现当天的,如下
-----------------------------
@echo    正在执行文件检查,请不要关闭!
@echo off
set Today=%date:~0,10%
if exist C:\day\doc-%Today%.txt del  C:\day\doc-%Today%.txt
FOR /F "tokens=*" %%i IN ('dir c:\day\*.doc /s/b/od') DO @echo %%~ti %%i >>C:\day\doc-%Today%.txt
find "%Today%" C:\day\doc-%Today%.txt  > C:\%Today%-结果.txt
------------------------------------------------------------
而使用forfiles只可以列出文件名,forfiles /d +2007-4-20
作者: zh159     时间: 2007-4-22 06:37
给个思路,获取文件修改日期,:
set Date_=2007-02-04
set Date_=%Date_:-=%
if %Date_% GEQ %StartDate% if %Date_% LEQ %EndDate% ......
作者: sealn     时间: 2007-4-22 06:58
谢谢zh159
DOS基本语句会点,涉及到组合语句我就OVER了.
....需要进一步研究啊
作者: zh159     时间: 2007-4-22 08:14

@echo off
setlocal EnableDelayedExpansion
echo.
set Startdate=20070108
set /p Startdate=  输入起始日期(格式: 20070108):
set Enddate=%date:~0,10%
set Enddate=%Enddate:-=%
echo.
for /f %%i in ('dir/on/s/b *.jpg^|findstr ".jpg"') do (
  set Date_=%%~ti
  set Date_=!Date_:-=!
if !Date_! GEQ %StartDate% if !Date_! LEQ %EndDate% echo.  %%i
)
pause