iT邦幫忙

0

使用批次檔 (Batch file) 命令自動更新 TortoiseSVN 目錄

Mars 2021-08-25 09:18:172469 瀏覽
  • 分享至 

  • xImage
  •  

TortoiseSVN 是一個免費的版本控管工具,我以前在專案開發團隊時,我們都是使用這個版控工具在管理我們的專案原始碼,這個工具非常好用,到現在我個人開發的專案,也都會將原始碼上傳到 VisualSVN Server 上做版本控管。
今天有一個需求是要將 Server 上的原始碼做每日自動更新,原本是需要手動執行「SVN Update」的動作才行,現在要改成使用 Bat 批次檔執行。

以下步驟將會教學如何編寫 Bat 指令

Bat 批次檔介紹

Bat 批次檔(英語:Batch file),又稱批次處理文件,副檔名為 .bat。
在DOS、Windows 視窗中可以執行命令指令的語言,命令列採直譯式執行,它類似於類 Unix 系統下的 Shell script。
批次檔適合使用的環境在每日例行性作業或是大量集合式指令,命令列指令支援邏輯運算,例如 if, for, goto, choice 等邏輯指令。可執行 Windows 系統內檔案、目錄異動或是執行外部程式。

建立 Bat 檔案

在想要存放 Bat 檔案的目錄下建置一個純文字檔,將檔名命名為 SvnAutoUpdate.bat (檔名可自己定義,但附檔名需為 bat)

BAT 呼叫 SVN 執行檔

如果你有安裝 TortoiseSVN 的話,預設的目錄會放在 C:\Program Files\TortoiseSVN 。
而執行 SVN Update 的程式放在 bin\TortoiseProc.exe

如果你也使用預設路徑的話,那批次要執行的檔案就在
C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe

使用純文字工具打開 SvnAutoUpdate.bat 後,輸入指令

CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe

此指令可以開啟 SVN Update 的執行程式

但這樣還不夠,接著要傳入參數,讓程式自動更新目錄。

取得要更新的 SVN 目錄

我 SVN 存放的目錄在 C:\Project\Cardata,你們依各自的目錄修改路徑。
接下來把剛剛的 BAT 檔內容指令改為

CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe /command:update /path:"C:\Project\Cardata\"

執行 BAT 檔後的結果

BAT 可以正確呼叫 SVN Update 程式且更新目錄為最新狀態了。
但出現另一個問題,更新後視窗沒有關閉。
如果視窗沒有關閉,連續執行就會這樣子,一堆的更新結果畫面。

接著只要解決執行更新後,自動關閉視窗即可。

BAT 指令最後修改

把剛剛的指令再改一下

CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe /command:update /path:"C:\Project\Cardata\" /closeonend:2

加入參數 /closeonend:2 ,告知 SVN Update 在更新後自動關閉視窗。
這樣子就完成了,執行批次後更新完會自動關閉視窗。

工作排程器加入此 BAT 檔

接下來就是打開「工作排程器」,建立一個每日執行的排程來執行此 BAT 檔。
觸發程序可以依照自己想要的時間

動作就是選「啟動程式」然後指向剛剛的 .bat 檔案。

這樣就完成了喔。

重點整理

  1. 將每天必做的工作交由批次檔執行
  2. 使用批次指令執行 SVN 執行檔
    3.SVN 執行檔傳入參數即可執行動作
    4.工作排程器加入此 BAT 檔

相關學習文章

如何在 Windows Server 安裝 SVN Server 版本控管軟體


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言