标题: [求助]为什么在win2000下LSS不起作用呢?
[打印本页]
作者: wiq
时间: 2007-9-7 15:15
标题: [求助]为什么在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下不正常。
作者: 123cainiao
时间: 2007-9-7 15:38
这个问题可以做如下处理:
1、字段处理,就是把日期截取,然后转换成数字,再做对比。这样虽然麻烦,但不会和系统出错了。
2、注意:“创建时间、访问时间、修改时间” 在系统中的区别。你可以看看你认为都大于的文件属性,可能在上面提到的3个时间中有小于的一个类型。
作者: wiq
时间: 2007-9-7 15:55
谢谢楼上的!
我又查看了一下d:\test\下的几个文件,确认文件的创建、修改和访问时间都是2007年。
因为我是要使用批处理每月删除上万个文件,而我们几十个服务器的OS大都是windows 2000 server,所以就碰到这个问题了。
我搜索了论坛上的帖子,没有windows 2000下的类似批处理。
请问哪位大侠有没有这方面的批处理?
作者: wudixin96
时间: 2007-9-7 16:10
%~tf扩展出来的带时间的,而2007-08-15仅仅是日期而已
作者: wiq
时间: 2007-9-7 16:23
Quote: |
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?
作者: wudixin96
时间: 2007-9-7 16:25
从右面开始取,取8位。
或者从左面第三位开始取,取8位
作者: wiq
时间: 2007-9-7 16:28
请问是用什么命令?
作者: wudixin96
时间: 2007-9-7 16:54
set
作者: wiq
时间: 2007-9-7 17:50
谢谢wudixin96!明白了。