. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#1 旧 2005-04-30, 19:39:41 默认 【原创】批量删除文件修改时间为n天前的文件
hitme 当前离线  

copy自yesterday.vbs
搞不明白如何将vbs变量传递给cmd变量,算了,用for...('cscript.exe..)..来取了

用法:cmd下

del_day 5

删除文件修改时间为5天前的文件,测试,删除操作务必谨慎
代码:
@echo off

>t_day.vbs  echo ' Yesterday.vbs,  Version 1.01                          
>>t_day.vbs echo '                                                      
>>t_day.vbs echo ' Written by Rob van der Woude                         
>>t_day.vbs echo ' http://www.robvanderwoude.com                        
>>t_day.vbs echo '                                                     
>>t_day.vbs echo ' Calculate yesterday's date                           
>>t_day.vbs echo    dtmYesterday = DateAdd("d",-%1,Date)              
>>t_day.vbs echo '                                                      
>>t_day.vbs echo ' Get yesterday's year                                 
>>t_day.vbs echo    strYear      = DatePart("yyyy",dtmYesterday)        
>>t_day.vbs echo '                                                    
>>t_day.vbs echo ' Get yesterday's month, add leading zero if necessary 
>>t_day.vbs echo    If DatePart("m",dtmYesterday) ^< 10 Then            
>>t_day.vbs echo 	   strMonth = 0 ^& DatePart("m",dtmYesterday)       
>>t_day.vbs echo    Else                                                
>>t_day.vbs echo 	   strMonth = DatePart("m",dtmYesterday)           
>>t_day.vbs echo    End If                                              
>>t_day.vbs echo '                                                      
>>t_day.vbs echo ' Get yesterday's day, add leading zero if necessary  
>>t_day.vbs echo    If DatePart("d",dtmYesterday) ^< 10 Then            
>>t_day.vbs echo	   strDay = 0 ^& DatePart("d",dtmYesterday)        
>>t_day.vbs echo    Else                                               
>>t_day.vbs echo	   strDay = DatePart("d",dtmYesterday)            
>>t_day.vbs echo    End If                                              
>>t_day.vbs echo '                                                     
>>t_day.vbs echo ' Format output for yesterday                          
>>t_day.vbs echo   strYest = strYear ^& strMonth ^& strDay             
>>t_day.vbs echo '                                                     
>>t_day.vbs echo ' echo                                                 
>>t_day.vbs echo Wscript.echo( strYest )                                

@echo on 
for /f "delims=" %%i in ('cscript.exe //nologo t_day.vbs') do set t_day=%%i
setlocal ENABLEDELAYEDEXPANSION
for /r %%i in (*.*) do set c_day=%%~ti && if "!c_day:~0,2!!c_day:~3,2!!c_day:~6,2!" lss "%t_day:~2,6%" del /q "%%i" 
endlocal
cls
@echo =========================
@echo 删除完毕.
@echo =========================
上传的附件
文件类型: rar del_day.rar (669 字节, 106 次查看)
jiuk2k
 
jiuk2k 的头像
待认证激活
 
资 料:
注册日期: Mar 2002
帖子: 3,177 声望值: 2
精华: 5
#2 旧 2005-04-30, 22:20:57 默认
jiuk2k 当前离线  

强,收藏以备后用!

小问题,所谓文件修改时间为n天前的文件,是指什么?如果是n天前创建的文件一直未修改呢?


NearbyFeed基于地点的社交网络iPhone和Android应用程序,欢迎到App Store和Android Market下载使用nearbyfeed.com
jiuk2k
 
jiuk2k 的头像
待认证激活
 
资 料:
注册日期: Mar 2002
帖子: 3,177 声望值: 2
精华: 5
#3 旧 2005-04-30, 22:32:38 默认
jiuk2k 当前离线  

刚看了一下,TC好像也可以

search->plugin tab->search in plugins

tc--creationdata--<=04/23/2005
tc--writedata-->04/23/2005
tc--writedata--<=04/24/2005
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#4 旧 2005-05-01, 13:13:24 默认
hitme 当前离线  

引用:
作者: jiuk2k
强,收藏以备后用!

小问题,所谓文件修改时间为n天前的文件,是指什么?如果是n天前创建的文件一直未修改呢?
最后一次写入的时间
如一直未修改,创建时间=修改时间
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#5 旧 2005-05-01, 13:22:07 默认
hitme 当前离线  

引用:
作者: jiuk2k
刚看了一下,TC好像也可以

search->plugin tab->search in plugins

tc--creationdata--<=04/23/2005
tc--writedata-->04/23/2005
tc--writedata--<=04/24/2005
tc搜索在利用时间属性上还未强化
想知道xxx天前是几月几号。。tc没有明示
不利于自动化工作,嘿嘿

不可以..就是不可以.. :blush; 再可以我要撞墙了
cnlab
 
cnlab 的头像
初级会员
 
资 料:
注册日期: Jan 2001
帖子: 206 声望值: 2
精华: 0,解答: 1
#6 旧 2005-05-04, 19:45:42 Icon17
cnlab 当前离线  

谢谢,我想扩展一下,可是VB一头污水啊。
因为目录较多,且不同的目录特权不同。。有些目录是不管的,所以我试验了以后,觉得还是做一个定义文件,按定义文件的要求来删除。。
5free
 
5free 的头像
终极会员
 
资 料:
注册日期: Feb 2004
帖子: 10,792 声望值: 3
精华: 8,解答: 16
#7 旧 2005-05-05, 00:40:44 默认
5free 当前离线  

让 TouchPro 干这事不错
smallfrogs
 
smallfrogs 的头像
核心会员
 
资 料:
注册日期: Oct 2001
帖子: 3,898 声望值: 2
精华: 20,解答: 3
#8 旧 2005-05-05, 02:57:17 默认
smallfrogs 当前离线  

一直使用ACDSEE


Everything is possible. Nothing is impossible.
KZTechs.COM, Reloaded
cnlab
 
cnlab 的头像
初级会员
 
资 料:
注册日期: Jan 2001
帖子: 206 声望值: 2
精华: 0,解答: 1
#9 旧 2005-05-05, 14:07:30 默认
cnlab 当前离线  

请问这个yesterday.vbs是哪来的呀?俺vb实在不行,只好又装上DevCPP自已编一个了。
edwardj
 
edwardj 的头像
超级会员
 
资 料:
注册日期: Nov 2001
帖子: 1,806 声望值: 3
精华: 1,解答: 4
#10 旧 2005-05-05, 21:05:15 默认
edwardj 当前离线  

这么麻烦?
用 find 命令简单的狠。不过是 gnu find。在 Native Win32 ports of some GNU Utilities 包里
双脚离地
 
双脚离地 的头像
核心会员
 
资 料:
注册日期: Mar 2002
帖子: 2,518 声望值: 3
精华: 1
#11 旧 2005-05-06, 06:55:04 默认
双脚离地 当前离线  

经典,不过大家的回帖也给我启发很多。
此贴收藏
cnlab
 
cnlab 的头像
初级会员
 
资 料:
注册日期: Jan 2001
帖子: 206 声望值: 2
精华: 0,解答: 1
#12 旧 2005-05-06, 10:46:08 默认
cnlab 当前离线  

谢谢,太谢谢,
cnlab
 
cnlab 的头像
初级会员
 
资 料:
注册日期: Jan 2001
帖子: 206 声望值: 2
精华: 0,解答: 1
#13 旧 2005-05-10, 09:26:27 默认
cnlab 当前离线  

测试中发现新问题,
find D:\FTP\临时交流\文档 ! -mtime -25 -exec rm {} ;
find D:\FTP\临时交流\文档 ! -mtime -25 -exec rmdir {} ;
空目录删不去,因为删除文件时,目录的时间变了,结果就删不去,有没有专删空目录的命令?
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#14 旧 2005-05-10, 12:27:39 默认
hitme 当前离线  

引用:
作者: cnlab
测试中发现新问题,
find D:\FTP\临时交流\文档 ! -mtime -25 -exec rm {} ;
find D:\FTP\临时交流\文档 ! -mtime -25 -exec rmdir {} ;
空目录删不去,因为删除文件时,目录的时间变了,结果就删不去,有没有专删空目录的命令?
空目录全删了?来遍


for /l %a in (1,1,9) do for /r %i in (.) do rd %~si
snowfall
 
snowfall 的头像
核心会员
 
资 料:
注册日期: Sep 2001
帖子: 2,806 声望值: 3
精华: 0,解答: 1
#15 旧 2005-05-10, 12:46:59 默认
snowfall 当前离线  

norton 里带一个修改文件和目录时间的小程序,也比较方便。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 02:39:46.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号