【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写 您所在的位置:网站首页 动态行程卡会自动更新吗 【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写

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

2024-07-12 13:02| 来源: 网络整理| 查看: 265

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

执行脚本

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

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

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

@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窗口。使用cmd执行创建命令创建任务:

# 创建任务 schtasks /create /tn test_task /tr F:\svnUpdate\svnUpdate.bat /sc daily /st 08:00 /ri 60 /du 24:00 /ru [你的windows账号] /rp [你的windows密码] # 查询下次执行时间 schtasks /query /tn test_task # 删除任务 schtasks /delete /tn test_task /f

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

设置完之后,可以去windows上查看该任务运行情况,windows搜索任务计划程序,找到自己创建的test_task,可以查看任务详情:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有