中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何列出某天到现在修改过的文件,修改时间,全路径
作者:
标题: 如何列出某天到现在修改过的文件,修改时间,全路径 上一主题 | 下一主题
sealn
新手上路





积分 10
发帖 3
注册 2007-4-22
状态 离线
『楼 主』:  如何列出某天到现在修改过的文件,修改时间,全路径

求教:
如何列出某天以后(如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

2007-4-22 06:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

给个思路,获取文件修改日期,:
set Date_=2007-02-04
set Date_=%Date_:-=%
if %Date_% GEQ %StartDate% if %Date_% LEQ %EndDate% ......

2007-4-22 06:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sealn
新手上路





积分 10
发帖 3
注册 2007-4-22
状态 离线
『第 3 楼』:  

谢谢zh159
DOS基本语句会点,涉及到组合语句我就OVER了.
....需要进一步研究啊

2007-4-22 06:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  


@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


2007-4-22 08:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: