[Visual Studio]使用建置前事件命令列執行批次檔
紀錄一下過程
問題描述
專案的架構是client-server;當我要測試client端的程式時,需要把server端的程式先執行後才能進行測試,
可是當重新編譯專案時,常常忘記把server程式先關掉再編譯,造成編譯失敗,
所以希望在server端專案編譯前能先把相關程式關閉。
步驟
1. 撰寫開始執行的批次檔Start_CleanExcutingFile.bat,內容如下:
@title 執行清除執行檔
@echo off
SET batchpath=%1
SET exeFileName=%2
START /d %batchpath% CleanExcutingFile.bat %exeFileName%
@echo on
2. 撰寫關閉server端程式的批次檔CleanExcutingFile.bat,內容如下:
@title 清除執行檔
@echo off
rem 執行檔名稱
set exeFileName=%1
taskkill /F /IM %exeFileName% /T
if errorlevel 128 goto errFileNotExecute
if errorlevel 0 goto success
rem echo %errorlevel%
:success
echo .Success
goto final
:errFileNotExecute
echo .FileNotExecute
goto final
:final
exit
@echo on
3. 將寫好的兩隻批次檔放到專案路徑如下:
4. 撰寫建置前事件命令列,內容如下:
call "$(ProjectDir)BeforeComiple\Start_CleanExcutingFile.bat" $(ProjectDir)BeforeComiple\ $(TargetName)$(TargetExt)
結果畫面
真的將相關server端執行程式關閉。
備註
建置前事件命令列的回應碼(errorlevel)必須為0才會成功,否則專案會編譯失敗。