Bat批处理 文件定时备份、历史删除

Bat批处理 文件定时备份、历史删除

功能实现: 【定时】【文件备份】 【删除历史文件数据】
适用场景:windows;文件容量不大的文件

1.bat脚本代码

  • 请自行修改 配置参数
@echo off

REM UTF8编码 解决中文显示乱码
CHCP 65001
CLS

echo ******************************
echo *       脚本说明:           *
echo * 适用场景:数据量不大的文件 *
echo *1.备份磁盘文件              *
echo *2.删除历史文件              *
echo ******************************

REM ****************配置参数start*******************************
REM 时间参数x y z赋值不能有空格
REM 备份数据保留x天
set x=10
REM 备份数据保留y小时
set y=0
REM 备份数据保留z分钟
set z=0
REM 备份文件原地址
set originUri=D:\test
REM 文件备份至目标地址 *强烈建议新建备份目录文件防止误删原有文件*
set target=D:\ddl\bak\test
REM ****************配置参数end*********************************

REM 主函数
goto getCurrentMills
:step1
goto getBackupMills
:step2
goto delFile
:step3
goto copyFile
:step4
echo.
echo 批处理已执行完毕!
::pause
exit

REM 备份数据
:copyFile
::net stop mysql
@xcopy "%originUri%\*.*" "%target%\%currentMills%\" /y
::net start mysql
goto step4

REM 遍历删除目录
:delFile
for /d %%i in ("%target%\*") do (
	if %%~ni LSS %consumeMills% (
		rd /s /q %%i
	)
)
goto step3

REM 截取时间戳currentMills精确到秒
:getCurrentMills
set "$=%temp%\Spring"
>%$% Echo WScript.Echo(Math.round((new Date()).getTime()/1000))
for /f %%a in ('cscript -nologo -e:jscript %$%') do set currentMills=%%a
del /f /q %$%
goto step1

REM 备份x天y小时z分钟
:getBackupMills
set /a consumeMills=%currentMills%-%x%*24*60*60-%y%*60*60-%z%*60
goto step2

2.添加windows计划任务

  • 以win10为例

1)win + r 开启任务计划程序

taskschd.msc

2)创建基本任务
创建基本任务

3)配置触发器时间
配置触发器时间
配置触发器时间

4)配置操作脚本,选择我们写好的bat脚本
配置操作脚本
配置操作脚本

5)完成

基本任务创建完成

3.成果展示

文件名是时间戳,精确到秒。
修改日期为备份时间。

成果展示


参考文档:

【1】批处理BAT脚本获取输出当前标准时间戳(毫秒)



*如对本文存有疑问,请在下方留言或私信博主 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值