本帖最后由 lky216 于 2013-4-30 15:50 编辑
公司的一些计算机,有一个D:\user\,是客户的文件夹集合,里面都是客户设置的英文名称的子文件夹,各个客户(例:A;B;AAC)的目录下又有两个文件夹,1:log,2:doc
现在由于log日志占用了很大的空间,想删除指定日期前的log文件,
由于doc文件夹可能过多的文件,现在想直接在D:\user中,直接搜索log文件夹下的指定日期之前的ex*.log日志文件删除,保留这个日期之后的日志文件。而不搜索doc,从而提高运行效率。
或者是直接搜索,D:\user\*\log这个意思的,doc文件夹实在大
我是新手,只操作了搜索D:\user整个目录的,有800个客户,运行了8分钟才操作了一部分。
我在C盘测试,用了一秒就删除了测试用的ex*.log文件,可见D:\user有太多东西了。
我用论坛里的代码:- @echo off
-
- ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
-
- ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
-
- ::本例调用了临时VBS代码进行日期计算,并统一设置系统日期格式,处理完毕
-
- ::之后再把日期格式恢复成原来的状态。摆脱了对reg命令(XP系统自带)的依赖。
-
-
-
- rem 指定待删除文件的存放路径
-
- set SrcDir=C:\Test\BatHome
-
- rem 指定天数
-
- set DaysAgo=1
-
- >"%temp%\BackupDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
-
- >>"%temp%\BackupDate.vbs" echo WScript.Echo WshShell.RegRead ("HKEY_CURRENT_USER\Control Panel\International\sShortDate")
-
- for /f %%a in ('cscript /nologo "%temp%\BackupDate.vbs"') do (
-
- set "RegDateOld=%%a"
-
- )
-
- >"%temp%\UnifyDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
-
- >>"%temp%\UnifyDate.vbs" echo WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "yyyy-M-d", "REG_SZ"
-
- cscript /nologo "%temp%\UnifyDate.vbs"
-
- >"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%
-
- >>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
-
- >>"%temp%\DstDate.vbs" echo wscript.echo FmtDate
-
- for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (
-
- set "DstDate=%%a"
-
- )
-
- set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
-
- for /r "%SrcDir%" %%a in (*.*) do (
-
- if "%%~ta" leq "%DstDate%" (
-
- if exist "%%a" (
-
- echo del /f /q "%%a"
-
- )
-
- )
-
- )
-
- >"%temp%\RecoverDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
-
- >>"%temp%\RecoverDate.vbs" echo WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "%RegDateOld%", "REG_SZ"
-
- cscript /nologo "%temp%\RecoverDate.vbs"
-
- pause
复制代码 27楼结帖子 |