中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 17:54
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]为什么在win2000下LSS不起作用呢?
可打印版本  795 / 8
第1楼 wiq 发表于 2007-09-07 15:15
初级用户 发帖 35 积分 179
[求助]为什么在win2000下LSS不起作用呢?
我在win2000的dos下,运行:

for /r d:\test\ %f in (*.*) do if %~tf lss 2006-08-15 echo %f

明明d:\test\下文件日期都大于2006-08-15,为什么还echo出来呢?
在win2003和winxp下都正常,只有wind2000下不正常。
第2楼 123cainiao 发表于 2007-09-07 15:38
初级用户 发帖 41 积分 97
这个问题可以做如下处理:
1、字段处理,就是把日期截取,然后转换成数字,再做对比。这样虽然麻烦,但不会和系统出错了。
2、注意:“创建时间、访问时间、修改时间” 在系统中的区别。你可以看看你认为都大于的文件属性,可能在上面提到的3个时间中有小于的一个类型。
第3楼 wiq 发表于 2007-09-07 15:55
初级用户 发帖 35 积分 179
谢谢楼上的!
我又查看了一下d:\test\下的几个文件,确认文件的创建、修改和访问时间都是2007年。
因为我是要使用批处理每月删除上万个文件,而我们几十个服务器的OS大都是windows 2000 server,所以就碰到这个问题了。
我搜索了论坛上的帖子,没有windows 2000下的类似批处理。
请问哪位大侠有没有这方面的批处理?
第4楼 wudixin96 发表于 2007-09-07 16:10
银牌会员 发帖 931 积分 1,928
%~tf扩展出来的带时间的,而2007-08-15仅仅是日期而已
第5楼 wiq 发表于 2007-09-07 16:23
初级用户 发帖 35 积分 179
Originally posted by wudixin96 at 2007-9-7 04:10 PM:
%~tf扩展出来的带时间的,而2007-08-15仅仅是日期而已

谢谢!
我反复试后,发现是这个原因:windows 2000下要用07-08-15,而不是2007-08-15。
现在又引出一个新问题,一个变量是:2007-08-15,如何从这个变量中取到07-08-15?
第6楼 wudixin96 发表于 2007-09-07 16:25
银牌会员 发帖 931 积分 1,928
从右面开始取,取8位。

或者从左面第三位开始取,取8位
第7楼 wiq 发表于 2007-09-07 16:28
初级用户 发帖 35 积分 179
请问是用什么命令?
第8楼 wudixin96 发表于 2007-09-07 16:54
银牌会员 发帖 931 积分 1,928
set
第9楼 wiq 发表于 2007-09-07 17:50
初级用户 发帖 35 积分 179
谢谢wudixin96!明白了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023