一、备份脚本编写
D:\sql\oracle\win-backup.bat
@echo off
setlocal enabledelayedexpansion
:: 设置字符集为UTF-8,这将会使得控制台能够正确显示中文字符。
chcp 65001
:: 设置源文件夹和目标文件夹
set "source_folder=D:\sql\oracle\oracle文档"
set "destination_folder=D:\sql\oracle\win-backup"
:: 检查目标文件夹是否存在,如果不存在则创建
if not exist "%destination_folder%" mkdir "%destination_folder%"
:: 获取当前日期和时间,用于创建备份文件夹
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=!dt:~2,2!" & set "YYYY=!dt:~0,4!" & set "MM=!dt:~4,2!" & set "DD=!dt:~6,2!"
set "HH=!dt:~8,2!" & set "Min=!dt:~10,2!" & set "Sec=!dt:~12,2!"
set "backup_folder=%destination_folder%\%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
:: 创建备份文件夹
mkdir "!backup_folder!"
:: 执行备份操作,使用xcopy命令复制文件夹及其内容
xcopy /E /I /Y "%source_folder%" "!backup_folder!\"
:: 输出备份完成消息
echo Backup completed: !backup_folder!
endlocal
pause
二、创建定时任务
2.1 右击win10此电脑图标,选择管理,弹出计算机管理,选择任务计划程序。
2.2 展开任务计划程序—>任务计划程序库—>右击创建新文件夹为mywinbackup
2.3 在mywinbackup中右击新建任务
常规—>名称自定义—>使用最高权限运行
切换到触发器—>新建触发器—>根据需要设置定时设置
切换到操作—>新建操作,浏览上面建立的.bat文件,起始于路径选择该.bat文件所在路径,点击确定
切换到设置,进行勾选过了计划开始时间,立即执行,最后点击确定
三、删除备份脚本编写
D:\sql\oracle\win-delete.bat
@echo off
setlocal
chcp 65001
:: 设置备份文件夹路径
set "backup_folder=D:\sql\oracle\win-backup"
:: 调用PowerShell脚本来删除三天前的文件夹
powershell -Command "$limit_date = (Get-Date).AddDays(-3); Get-ChildItem -Path '%backup_folder%' -Directory -Recurse | Where-Object { $_.LastWriteTime -lt $limit_date } | Remove-Item -Recurse -Force; Write-Host 'Deleted backup folders older than 3 days.'"
:: 输出完成消息
echo Deleted backup folders older than 3 days.
endlocal
pause
四、创建定时任务
跟以上步骤操作一致,不再说明。