dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。核心代码:@echo off:: by oicu#
千家信息网最后更新 2026年11月02日dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件
这篇文章给大家介绍dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
核心代码:
@echo off:: by oicu#lsxk.org:: 15:17 2011-1-13:: 如果只是删除指定日期或N天前修改的文件,用forfiles即可FORFILES /P "C:\测试目录" /S /M *.log /D -3 /C "cmd /c if @isdir==FALSE echo del @file":: 指定日期(包含)前修改的文件:/D -yyyy/mm/dd:: 以下是流水账:: 使用限制:控制面板里设定日期格式为中文(中国):: 只有dir /tc才能查看到文件创建时间,默认dir都是dir /tw:: 为了取出创建时间,只好用两次for+find,肯定很慢。cd /d 你的目录:: 如果要包含子目录,用for /r . %%a in (*):: 显示文件修改时间for %%a in (*) do echo "%%~ta":: 中文格式时相当于for %%a in (*) do for /f "tokens=1,2* delims= " %%b in ('dir /tw "%%a" ^| find /i "%%~nxa"') do echo "%%b %%c":: 删除某个时间后修改过的文件(这个简单)for %%a in (*) do if "%%~ta" gtr "2008-04-01" echo del "%%a":: 这个才是显示文件创建时间for %%a in (*) do for /f "tokens=1,2* delims= " %%b in ('dir /tc "%%a" ^| find /i "%%~nxa"') do echo "%%b %%c":: 删除某个时间之后创建的文件,如果要删除某个时间之前创建的,更改两:: 处gtr为lss。除了日期外,增加判断时间,可以去掉else段。for %%a in (*) do for /f "tokens=1,2* delims= " %%b in ('dir /tc "%%a" ^| find /i "%%~nxa"') do ( if "%%b" gtr "2010-12-15" ( echo del "%%a" ) else ( if "%%b" equ "2010-12-15" if "%%c" gtr "14:50" echo del "%%a" )):: 用批处理计算时间受到系统的日期格式限制,影响到用set取某一字段的值,:: 批处理计算时间方法过于复杂,要么只用vbs脚本删除文件,要么用批处理:: 配合vbs脚本删除。:: 取10天之前的日期,取回放入变量OldDateecho wscript.echo dateadd("d",-10,date)>GetOldDate.vbsfor /f %%a in ('cscript /nologo GetOldDate.vbs') do set OldDate=%%aecho %OldDate%del GetOldDate._vbs:: VBScript里没有Format函数,Year、Month、Day等函数取数值后也要处理小:: 于10的数字,只能用下面的方法整理日期格式echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbsfor /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.vbs') do ( set y=%%i set m=%%j set d=%%k)if %m% LSS 10 set m=0%m%if %d% LSS 10 set d=0%d%set OldDate=%y%-%m%-%d%echo %OldDate%del GetOldDate._vbs:: 综合上文,最后得到我们想要的结果:: 删除10天前创建的旧文件(不含子目录)echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbsfor /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.vbs') do ( set y=%%i set m=%%j set d=%%k)if %m% LSS 10 set m=0%m%if %d% LSS 10 set d=0%d%set OldDate=%y%-%m%-%d%del GetOldDate.vbsfor %%a in (*) do for /f "tokens=1,2* delims= " %%b in ('dir /tc "%%a" ^| find /i "%%~nxa"') do ( if "%%b" lss "%OldDate%" echo del "%%a"):: 删除10天前修改的旧文件(不含子目录)echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbsfor /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.vbs') do ( set y=%%i set m=%%j set d=%%k)if %m% LSS 10 set m=0%m%if %d% LSS 10 set d=0%d%set OldDate=%y%-%m%-%d%del GetOldDate.vbsfor %%a in (*) do if "%%~ta" lss "%OldDate%" echo del "%%a":: 本文全部用echo del代替del,只是显示要删除的文件,并不实际删除。pausegoto :eof关于dos中如何用批处理删除N天前或指定日期时间内创建以及修改的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文件
时间
日期
格式
子目
子目录
内容
函数
只是
方法
更多
目录
脚本
要么
中文
帮助
限制
不错
复杂
上文
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
广州为想互联网科技有限公司
互联网是第几次科技革命的成果
江苏根荣互联网科技
中资互联网科技
互联网科技金融公司
狮子座互联网科技
唐信互联网科技
四川狮子座互联网科技
深圳卡尔迅互联网科技有限公司怎么样
互联网科技生活的内容
银川新华互联网科技职业技术培训学校图片
深圳艾果互联网通讯科技
济南有互联网科技公司吗
上海科技产业互联网平台
容联科技互联网电商
张家口科技产业互联网平台
美国五大互联网科技公司市值多少
深圳互联网科技园地址
武汉亿视互联网科技有限公司
哈尔滨大商圈互联网科技有限公司
杭州互联网科技公司
极限挑战互联网科技
居家互联网科技有限公司
互联网科技产品
互联网金融科技公司干啥的
中国互联网十大科技股排名
济南有互联网科技公司吗
易租星互联网科技有限公司
科技发展第三阶段互联网时代