江门网站制作网站,电脑网站制作软件,网站系统建设需要什么,东营公共资源网招标信息本文使用schtasks结合bat脚本实现全自动svn update以及commit操作。执行时隐藏cmd窗口#xff0c;全自动后台执行。
执行脚本
写脚本参考了网上很多文章#xff0c;但是这些文章的方法都有问题或者已经失效#xff0c;比如#xff1a;
老版本的bat脚本#xff0c;使用v…本文使用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 21
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 21
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窗口。
# 创建任务
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查询下一次的执行时间看看效果如果效果不好可以直接删除然后继续修改。