【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写

本文使用schtasks结合bat脚本实现全自动svn update以及commit操作。执行时隐藏cmd窗口,全自动后台执行。

执行脚本

写脚本参考了网上很多文章,但是这些文章的方法都有问题或者已经失效,比如:

老版本的bat脚本,使用vbScript定时执行,会出现目录锁住、需要clean up等问题。win11使用vbScript定时执行svn容易卡死,甚至影响任务管理器。

使用TortoiseProc.exe实现自动化,你会发现最新版的TortoiseSVN已经不支持/closeonend命令,然而官网的文档依然还有,不知道原因是什么,有兴趣的朋友可以试一下,但是是不生效的:

脚本如下:

复制代码
@echo off  
@echo ================update SVN Start===============  
rem 执行SVN更新命令  
call "D:\svn\bin\svn.exe" update "E:\MyNote" --no-auth-cache --non-interactive > "D:\svn\update.log" 2>&1  
@echo ================update SVN Finish==============  

@echo ================commit SVN Start===============  
rem 执行SVN提交命令  
call "D:\svn\bin\svn.exe" commit -m "" "E:\MyNote" --no-auth-cache --non-interactive > "D:\svn\commit.log" 2>&1  
@echo ================commit SVN Finish==============  
exit

其中D:\svn\bin\svn.exe为svn安装目录,E:\MyNote是svn库的目录。D:\svn\update.log和D:\svn\commit.log是存储更新日志的地方。

定时任务

schtasks使用账号密码形式执行任务则不会弹出cmd黑窗口,如果是/it,则是交互式,执行时会弹出cmd窗口。

bash 复制代码
# 创建任务
schtasks /create /tn test_task /tr E:\svnUpdate\svnUpdate.bat /sc minute /mo 1 /st 18:00:00 /et 01:00:00 /ru [你的windows账号] /rp [你的windows密码]
# 查询下次执行时间
schtasks /query /tn test_task
# 删除任务
schtasks /delete /tn test_task /f

定时任务现在是在下午18点到凌晨1点,每一分钟执行一次,可以根据你的习惯更改。点击执行即可大功告成。可以通过/query查询下一次的执行时间,看看效果,如果效果不好可以直接删除,然后继续修改。

相关推荐
AC赳赳老秦3 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
夏日听雨眠3 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
哲霖软件4 小时前
ERP 赋能非标自动化行业:破解物料与库存管理难题
运维·自动化
HBYKKJ4 小时前
文氏阀自动化气密性测试解决方案:格雷希尔G10-H定制款快速密封连接器,解决文氏阀宝塔管口同步封堵难题
自动化·气密性测试·格雷希尔·快速密封连接器·非标定制·文氏阀
火车叼位5 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
syagain_zsx6 小时前
Linux指令初识(实用篇)
linux·运维·服务器
OYangxf6 小时前
Git Commit Message
运维·git
Alter12306 小时前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
芯有所享7 小时前
【芯片设计中的版本管理:Git与SVN的实战选择指南】
经验分享·git·svn
王木风7 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js