中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 05:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何列出某天到现在修改过的文件,修改时间,全路径 查看 1,074 回复 3
楼 主 如何列出某天到现在修改过的文件,修改时间,全路径 发表于 2007-04-22 06:26 ·  中国 河北 石家庄 联通
新手上路
积分 10
发帖 3
注册 2007-04-22 05:11
19年会员
UID 86050
性别 男
状态 离线
求教:
如何列出某天以后(如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
2 发表于 2007-04-22 06:37 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
给个思路,获取文件修改日期,:
set Date_=2007-02-04
set Date_=%Date_:-=%
if %Date_% GEQ %StartDate% if %Date_% LEQ %EndDate% ......
3 发表于 2007-04-22 06:58 ·  中国 河北 石家庄 联通
新手上路
积分 10
发帖 3
注册 2007-04-22 05:11
19年会员
UID 86050
性别 男
状态 离线
谢谢zh159
DOS基本语句会点,涉及到组合语句我就OVER了.
....需要进一步研究啊
4 发表于 2007-04-22 08:14 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
@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
论坛跳转: