中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 19:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]为什么在win2000下LSS不起作用呢? 查看 798 回复 8
楼 主 [求助]为什么在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
性别 男
状态 离线
set
9 发表于 2007-09-07 17:50 ·  中国 上海 联通
初级用户
积分 179
发帖 35
注册 2003-06-03 00:00
23年会员
UID 3055
性别 男
状态 离线
谢谢wudixin96!明白了。
论坛跳转: