怎样用bat删除一个盘符下以日期命名的7天以前的文件夹

怎样用bat删除一个盘符下以日期命名的7天以前的文件夹,第1张

我看了你的描述,猜测你大概是想实现每天自动备份当天的数据,并删除7天前的数据。如果是这个想法的话,其实有个更简单的思路,我自己就是这么做的:

1、不用日期当作文件夹名称,而是简单的先做哪穗手动建好1、2、3、4、5、6、7、8这8个文件夹,分别用于存放当天、前1天、前2天。。。。。。前8天缓慎的数据。

2、在bat文件里,在当天备份的之前,先删除文件夹8,并把文件夹1改名为文件夹2,文件夹2改名为文件夹3,依次类推文件夹7改名为文件夹8,最后创建文件夹1,讲当纯卜天要备份的内容复制到文件夹1中。

这样的话每天就会滚动更新这8个文件夹,如果你想保留日期信息,可以在bat中用 date >>today.txt 这样一条指令,将日期记录进文件夹1下的today.txt文件,这样打开每个文件夹看了这个文件就知道是哪天的备份了。

@echo off

::设置几天前

set n=7

>"拆丛%tmp%\t.vbs" echot=date()-%n%:y=right(year(t),4):m=right("0"^&month(t),2):d=right("0"^&day(t),2):wscript.echo y^&" "^&m^&旅逗樱" "^&d

for /f "tokens=1-3" %%a in ('cscript /nologo "%tmp%\t.vbs"') do set y=%%a&set m=%%b&set d=%%c

echo%n%天前的日期为%y% %m% %d%

del "D:\BAK\备份\BAK_%y%年指纳%m%月%d%日*.rar"

pause

测试前先备份源文件,及时采纳回答

@echo off

::修改系统日期格式

Reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d "yyyyMMdd" /f>nul

set /a date1=%date%-10

::删除文件

for /f "tokens=1,2,3,4* delims= " %%i in ('dir D:\WEB_BAK\*.rar

') do if "%%i" leq "%date1%" del /f /s /q D:\WEB_BAK\"%%l*"

pause

说明:其中 date1 的日期基汪格式遇到跨月时培亏还需要配锋神调整,目前你是可以使用的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12283554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存