中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » %~ti扩展问题,想得到得到文件的创建时间
作者:
标题: %~ti扩展问题,想得到得到文件的创建时间 上一主题 | 下一主题
lokeymei
新手上路




积分 18
发帖 17
注册 2008-11-7
状态 离线
『楼 主』:  %~ti扩展问题,想得到得到文件的创建时间

小弟进来不久,今天遇到这个问题,求大哥大姐们给个链接或解决方案::
问题如下,ppp

  Quote:
@echo off&setlocal enabledelayedexpansion
set /p dd=请问你要查看哪天之后的文件:
echo 请等待……
echo =======================================
echo 新增的文件有:
set drv=c d e f g h i j k
for %%a in (%drv%) do (
for /f "delims=" %%i in ('dir /s/b/a-d %%a:\ 2^>nul') do (
set "rq=%%~ti"
set "rq=!rq:~0,10!
set "rq=!rq:-=!"
if "!rq!" gtr "!dd!"   (
echo %%i
)
)
)
pause

本意是要取得新增文件,输入一个时间,然后获取在这个时间后的创建的文件,我要得到的是创建的时间,然而经过粗略的测试发现%~ti得到的是文件修改的时间,问题就出来了怎么得到文件的创建时间呢?
想了下  dir /tc  发现我办不到,特来求助
我是新人,看了“新人须知”,不知我这个提问方式和内容有无不妥,不妥之处还望大家指出
经初步修改发现自己的错误很多,请高人指点一二

  Quote:
@echo off&setlocal enabledelayedexpansion
set /p dd=请问你要查看哪天之后的文件:
echo 请等待……
echo =======================================
echo 新增的文件有:
set drv=c d e f g h i j k
for %%a in (%drv%) do (
for /f "tokens=1,4 delims= " %%i in ('"dir /tc /a-d %%a:\" ^|findstr /v ^"字节 目录^" 2^>nul') do (
set  "rq=%%i"
if  not "!rq!"=="" if "!rq!" gtr "!dd!" (
echo %%j
)
)
)
pause

还是不行…………

[ Last edited by lokeymei on 2008-12-1 at 12:58 ]

2008-11-30 18:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

应该可以的,不过有点粗心哦。。。

  Quote:
if  not "!rq!"=="" if "!rq!" gtr "!d!" (



2008-12-1 02:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokeymei
新手上路




积分 18
发帖 17
注册 2008-11-7
状态 离线
『第 3 楼』:  re 1#

谢谢啊,确实粗心,但错误仍然存在,,555
我修改了下

2008-12-1 12:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 4 楼』:  

@echo off&setlocal enabledelayedexpansion
set /p dd=请问你要查看哪天之后的文件:
echo 请等待……
echo =======================================
echo 新增的文件有:
set drv=c d e f g h i j k
for %%a in (%drv%) do (
for /f "skip=4 tokens=1,4" %%i in ('dir/tc /a-d %%a:\ 2^>nul^|findstr /v "字节" 2^>nul') do (
if "%%i" gtr "%dd%" echo %%j
))
pause



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2008-12-1 21:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokeymei
新手上路




积分 18
发帖 17
注册 2008-11-7
状态 离线
『第 5 楼』:  re 4#

谢谢这位大哥同情我啊,等了很久,都没人回复我,
不过大哥把我的本意改了,我要全盘搜索,dir /tc/a-d 是不够的,
哎,,,,我自己摸索了半天,加上我老师的的修改问题已经圆满解决,谢谢各位的关注,经过修改,代码如下

  Quote:
@echo off&setlocal enabledelayedexpansion
set /p dd=请问你要查看哪天之后的文件(如20081129):
echo 请等待……
echo =========================================================================
echo 新增的文件有:
set drv=c d e f g h i j k
for %%a in (%drv%) do (
for /f "skip=2 tokens=1,4" %%a in ('dir /s/a-d/tc "%%a:\"^|findstr /v ^"目录^"^|findstr /v ^"字节^" 2^>nul 3^>nul') do (
set "riqi=%%a"
if "!riqi:~4,1!"=="-" (
set "riqi=!riqi:-=!"
if "!riqi!" GTR "%dd%" (
echo ---- %%a
echo. "%%~FSb"
)
)
)
)
pause

问题已经解决

2008-12-1 23:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  Re 5楼

建议尽快学会代码缩进。
这样的代码风格,再过几天,连你自己都看不懂是啥意思了。



2008-12-2 10:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 7 楼』:  

首先说明我没有改变你的意图,我只是改了1楼下面的代码,再者你4楼的代码错误比较多,如在2个for里面都设置了同1个变量%%a 这容易引起错误,而且你没有屏蔽dir命令的错误提示,最好该成下面的代码:
@echo off&setlocal enabledelayedexpansion
set /p dd=请问你要查看哪天之后的文件(如20081129):
echo 请等待……
echo =========================================================================
echo 新增的文件有:
set drv=c d e f g h i j k
for %%d in (%drv%) do (
for /f "tokens=1,4" %%a in ('dir /s/a-d/tc %%d:\ 2^>nul^|findstr /v "字节"') do (
set "riqi=%%a"
if "!riqi:~4,1!"=="-" (
set "riqi=!riqi:-=!"
if "!riqi!" GTR "%dd%" (
echo ---- %%a
echo. "%%~FSb"
)
)
)
)
pause
另外在排出字节的同时也排出了目录, 因此可以不用排出目录吧?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2008-12-2 11:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokeymei
新手上路




积分 18
发帖 17
注册 2008-11-7
状态 离线
『第 8 楼』:  re all

谢谢大家,,我会尽力学的,,,,,谢谢每一楼的的兄弟,,,
楼上的建议和观点经测试完全正确,,,呵呵,,
奥,,
忘了个事,,,版主说代码要简化,要格式化,但是我是新手,不知道怎么去简化,,麻烦大哥给个示范,谢谢了

[ Last edited by lokeymei on 2008-12-2 at 18:02 ]

2008-12-2 17:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: