常春岛资源网 Design By www.syssdc.com
核心代码:
@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天之前的日期,取回放入变量OldDate
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /f %%a in ('cscript /nologo GetOldDate.vbs') do set OldDate=%%a
echo %OldDate%
del GetOldDate.vbs
:: VBScript里没有Format函数,Year、Month、Day等函数取数值后也要处理小
:: 于10的数字,只能用下面的方法整理日期格式
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /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.vbs
for /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.vbs
for %%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.vbs
for /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.vbs
for %%a in (*) do if "%%~ta" lss "%OldDate%" echo del "%%a"
:: 本文全部用echo del代替del,只是显示要删除的文件,并不实际删除。
pause
goto :eof
标签:
批处理删除,N天前
常春岛资源网 Design By www.syssdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
常春岛资源网 Design By www.syssdc.com
暂无评论...
更新日志
2025年10月31日
2025年10月31日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]