中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-07 07:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 能自动删除N天前的文件吗? 查看 873 回复 1
楼 主 能自动删除N天前的文件吗? 发表于 2007-05-28 23:12 ·  中国 广东 茂名 电信
新手上路
积分 4
发帖 1
注册 2007-05-28 22:48
19年会员
UID 89603
性别 男
状态 离线
@echo off
title 超级数据自动备份器!Ver1.0
color 2E
@echo *************************************************
@echo off
echo ╔----------------------------------------╗
echo 欢迎使用超级数据自动备份器! ┆
echo ┆ ┆
echo ╚----------------------------------------╝
@echo off
@echo **************************************************
for /f "tokens=1 delims=/ " %%a in ('date /t') do @echo %%a %time%>d:\HLbackup\time.txt
for /f "tokens=1,2,3 delims=: " %%a in (d:\HLbackup\time.txt) do @if exist %%a(%%b-%%c) (goto end)else goto backup
:backup
echo 请勿关闭本程序!正在备份文件......
title 超级数据自动备份器!Ver1.0 ★★★温馨提示:正在备份,请勿关闭!★★★
for /f "tokens=1,2,3 delims=: " %%a in (d:\HLbackup\time.txt) do @md d:\HLbackup\%%a(%%b-%%c)&echo d|xcopy c:\WAKA d:\HLbackup\%%a(%%b-%%c)\重要数据勿删除 /e/v/q/r/y>nul
goto end
:end
echo 备份成功...
echo ...
echo ...
echo ...
color 1E
echo 请退出本程序(按空格键)!
title 超级数据自动备份器!Ver1.0 ★★★温馨提示:备份成功,请退出!★★★
start C:\Program Files\ST\STSF.exe
pause>nul
exit\


以上的代码程序已经放在启动项,每次开机都自动备份.因为考虑到磁盘空间的问题,所以,我想在程序中加入一个可以自动删除N天前的文件.谢谢!

[ Last edited by v4skyweb on 2007-5-28 at 11:14 PM ]
2 发表于 2007-05-29 15:12 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
用批处理来处理日期是相当麻烦的,效率会很低。

解决办法就很简单,前提是你的批处理中有一个函数能够计算N天前是个什么具体日期,然后挨个比较当前文件的日期是否小于那个日期,是,则删除,不是就保留。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: