中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 02:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断文件修改日期,并显示文件名。 查看 1,057 回复 5
楼 主 判断文件修改日期,并显示文件名。 发表于 2010-06-20 11:56 ·  中国 江西 南昌 电信
新手上路
积分 17
发帖 17
注册 2009-08-01 05:44
17年会员
UID 149696
性别 男
状态 离线
在d:\z目录下有:
名称 修改日期
1.txt 2010-6-12 14:36
2.txt 2010-6-10 17:12
3.txt 2010-6-3 12:23
4.txt 2010-6-20 9:36
我想显示出4.txt 这个文件。
自己写的代码不行。
for /r d:\z %%i in (*.txt) do if "%%~ti" LSS "2010-6-20 00:00" echo %%i
请各位同仁写出正确的代码。谢谢!!!
2 发表于 2010-06-20 14:43 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
for %%a in ("d:\z\*.txt") do (
for /F "tokens=1-5 delims=:-/ " %%b in ("%%~ta") do set c=0%%c&set d=0%%d&set e=0%%e&set f=0%%f
if "%%b-!c:~-2!-!d:~-2! !e:~-2!:!f:~-2!" gtr "2010-06-20 00:00" echo.%%a
)
pause


[ Last edited by Hanyeguxing on 2010-6-20 at 15:26 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lmm +1 2010-06-23 22:20
3 发表于 2010-06-20 15:15 ·  中国 江西 南昌 电信
新手上路
积分 17
发帖 17
注册 2009-08-01 05:44
17年会员
UID 149696
性别 男
状态 离线
Hanyeguxing你编制的代码,不行。(不能显示文件名4.txt)
4 发表于 2010-06-20 15:18 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
打错一个字母,你重新测试
5 发表于 2010-06-20 19:11 ·  中国 江西 南昌 电信
新手上路
积分 17
发帖 17
注册 2009-08-01 05:44
17年会员
UID 149696
性别 男
状态 离线
Hanyeguxing你编制的代码,还是不行。(通过测试不行)
代码中的%%~ti 不是%%~ta.
%%~ti------将%%i扩展到文件的时间/时间。(不知道对不对)
6 发表于 2010-06-23 22:19 ·  中国 江西 南昌 电信
新手上路
积分 17
发帖 17
注册 2009-08-01 05:44
17年会员
UID 149696
性别 男
状态 离线
非常感谢Hanyeguxing对我的回复和指导,下面代码与各位同仁共享。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b /a-d d:\z\*.txt') do (
set num=%%~ta
set num=!num:~0,10!
set num=!num:-=!
if !num! gqu 20100620 echo %%a
)
pause
论坛跳转: