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 的日期基汪格式遇到跨月时培亏还需要配锋神调整,目前你是可以使用的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)