1. 程式人生 > >批處理-自動編譯sln專案

批處理-自動編譯sln專案

因為工作專案的需要,第一次去接觸批處理,研究了幾天,最後集成了下面兩個檔案:

  1. pause---除錯時多插入pause去執行,相當於斷點。  
  2.  rem---註釋,不執行

  3. echo 輸出空行,即相當於輸入一個回車,其中 echo. 相當於換行

  4. @命令,執行時不顯示@後面的命令列

  5. 以下是兩個自己寫的bat檔案:
  1. 自動編譯sln專案檔案:

rem devenv路徑:(就是安裝路徑,一般都是這個)set devenv: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe "rem 當前路徑: (獲取本文件路徑的方法)set current_path = %cd%rem 專案名稱:set slnname=XXX.slnrem 專案路徑:(本文件與專案放在同一目錄)set slnpath=%cd%\XXX.slnrem 配置:(編譯時專案生成的配置,x86,x64等)set build_config="debug"rem 資料夾路徑:(在當前路徑生成一個新資料夾,下面用來存放日誌)set slnfile=%cd%\Batlogrem 日誌名稱: (%date%是當前詳細時間,下面的方法是擷取字元,只取了YYYYMMDD)set strdate=%date:~0,4%%date:~5,2%%date:~8,2%set slnlog=%slnfile%\%strdate%Complie.logrem 生成資料夾:(若不存在資料夾,則生成)if not exist %slnfile%(md %slnfile%)rem 輸出:echo[%date% %time%]>>%slnlog%echo Star compiling:>>%slnlog%rem 執行:(此為重點的執行語句)%devenv% %slnpath% /Rebulid %bulid_config%/Out %slnlog%rem 日誌輸出:if not %errorlevel% ==0 echo 編譯失敗>>%slnlog%if %errorlevel% == 0 echo 編譯成功>>%slnlog%

  2.自動從SVN上下載東西的bat檔案

rem SVN安裝目錄:set svn_home="C:\Program Files\TortoiseSVN\bin"rem SVN工作目錄:(下載檔案的目錄)set svn_work="D:\SVN\xxxxx"rem SVN伺服器地址:set server_path=https://192.168.XXXXXXrem 日誌資料夾路徑:set slnfile=%cd%\Batlogrem 日誌名稱:set strdate=%date:~0,4%%date:~5,2%%date:~8,2%set slnlog=%slnfile%\%strdate%Update.logrem 命令視窗輸出文字:echo 正在更新目錄 %svn_work%:rem 建立資料夾:if not exist %slnfile%(md %slnfile%)rem 更新配置檔案:if exist %svn_work% GOTO:update else GOTO:ERRORrem 當路徑錯誤時,報錯:ERRORrem 命令視窗輸出文字:@

[email protected] 下載失敗@echo 請檢查您的工作目錄是否正確!@echo %date%%time%>>%slnlog%@echo 下載失敗>>%slnlog%exit:updaterem 命令視窗輸出文字:@[email protected] 正在下載---rem 執行語句:(另其中的空格好像比較重要)%svn_home%\TortoiseProc.exe/command:update /path:%svn_work% /notempfile /closeonend:[email protected] 下載成功!@echo %date%%time%>>%slnlog%@echo 下載成功>>%slnlog%