楼 主
[求助]为什么在win2000下LSS不起作用呢?
发表于 2007-09-07 15:15 · 中国 上海 联通
初级用户
★
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
我在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 楼
发表于 2007-09-07 15:38 · 中国 新疆 乌鲁木齐 电信
初级用户
★
积分 97
发帖 41
注册 2007-08-30 19:05
18年会员
UID 96211
性别 男
状态 离线
这个问题可以做如下处理:
1、字段处理,就是把日期截取,然后转换成数字,再做对比。这样虽然麻烦,但不会和系统出错了。
2、注意:“创建时间、访问时间、修改时间” 在系统中的区别。你可以看看你认为都大于的文件属性,可能在上面提到的3个时间中有小于的一个类型。
第 3 楼
发表于 2007-09-07 15:55 · 中国 上海 联通
初级用户
★
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
谢谢楼上的!
我又查看了一下d:\test\下的几个文件,确认文件的创建、修改和访问时间都是2007年。
因为我是要使用批处理每月删除上万个文件,而我们几十个服务器的OS大都是windows 2000 server,所以就碰到这个问题了。
我搜索了论坛上的帖子,没有windows 2000下的类似批处理。
请问哪位大侠有没有这方面的批处理?
第 4 楼
发表于 2007-09-07 16:10 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
%~tf扩展出来的带时间的,而2007-08-15仅仅是日期而已
第 5 楼
发表于 2007-09-07 16:23 · 中国 上海 联通
初级用户
★
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
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 楼
发表于 2007-09-07 16:25 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
从右面开始取,取8位。
或者从左面第三位开始取,取8位
第 7 楼
发表于 2007-09-07 16:28 · 中国 上海 联通
初级用户
★
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
第 8 楼
发表于 2007-09-07 16:54 · 中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
第 9 楼
发表于 2007-09-07 17:50 · 中国 上海 联通
初级用户
★
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
论坛跳转: