思源笔记 Windows 自动备份脚本 每天全量备份一次

将以下脚本复制保存为 syAutoBak.bat 文本文件 (文件名随意) 即可

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: 设置默认值 inputDir 输入目录 outputDir 输出目录
set "inputDir=%USERPROFILE%\SiYuan\data"
set "outputDir=D:\sybackup"

:: 解析命令行参数
:parse_args
if "%~1"=="" goto :end_parse
if "%~1"=="-o" (
    set "outputDir=%~2"
    shift
)
if "%~1"=="-i" (
    set "inputDir=%~2"
    shift
)
shift
goto :parse_args
:end_parse

:: 显示使用的目录
echo inputDir : %inputDir%
echo outputDir: %outputDir%

:: 创建输出目录(如果不存在)
if not exist "%outputDir%" mkdir "%outputDir%"

:: 生成时间戳
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
set timestamp=%datetime:~0,14%

:: 设置 ZIP 文件名
set "zipFile=%outputDir%\sydata-%timestamp%.zip"

:: 使用 PowerShell 压缩文件
:: powershell -command "Compress-Archive -Path'%inputDir%'-DestinationPath'%zipFile%'-CompressionLevel Fastest -Force"
powershell -command "Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::CreateFromDirectory('%inputDir%','%zipFile%', [System.IO.Compression.CompressionLevel]::Fastest, $false)"

if %errorlevel% equ 0 (echo 备份成功完成:%zipFile%) else (echo 备份过程中发生错误。)

endlocal

然后按 win + R 输入 taskschd.msc 打开计划任务管理器,创建基本任务,设置为每天某个时间出发,执行刚刚保存的脚本即可

参数 (可选) 可设置 -o D:\mybackup 即表示设置备份路径为 D:\mybackup,如果不设置则默认是 D:\sybackup-i D:\mydata 则为重设要压缩的路径,如不设置默认是 C:\Users\XXX\SiYuan\data

恢复也简单,解压备份文件放到 ...\SiYuan\data 中目录即可

手机扫描二维码访问

本文标题:《思源笔记 Windows 自动备份脚本 每天全量备份一次》作者:极四维博客
原文链接:https://cway.top/post/1120.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

你的文章让我心情愉悦,真是太棒了! 回复
你的文章让我心情愉悦,真是太棒了! 回复
你的文章让我心情愉悦,真是太棒了! 回复
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031

搜索

控制面板

您好,欢迎到访网站!
  查看权限

最新留言

文章归档

  • 订阅本站的 RSS 2.0 新闻聚合