Board logo

标题: [文件操作] 如何删除指定天数前的文件以及指定天数以内文件大小大于指定数值的文件 [打印本页]

作者: cogool    时间: 2017-4-10 08:20     标题: 如何删除指定天数前的文件以及指定天数以内文件大小大于指定数值的文件

本帖最后由 pcl_test 于 2017-4-10 12:15 编辑

请教高手指点下,怎样实现下面两个的功能合并呢?
1.文件自动删除大于7天以上创建的文件
rem 指定待删除文件的存放路径
set SrcDir=D:\DB\
rem 指定天数
set DaysAgo=7
>"%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" (
            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"

echo 7天前文件已删除完成

2.如果文件创建时间小于7天,则按文件创建时间先后删除目录里大于100GB以后的文件,只保留100GB
谢谢各位高手
作者: taofan712    时间: 2017-4-10 09:02

1你需要提炼问题内容到你的标题上去。
2你可以先搜索论坛寻找答案。
作者: cogool    时间: 2017-4-10 11:12

问题2论坛没有搜索到
作者: pcl_test    时间: 2017-4-10 13:56

7天前的是leq,反过来7天以内的就是gtr
http://www.bathome.net/viewthread.php?tid=2530
http://www.bathome.net/search.ph ... p;searchsubmit=true
http://www.bathome.net/search.ph ... p;searchsubmit=true




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2