批處理-自動編譯sln專案
因為工作專案的需要,第一次去接觸批處理,研究了幾天,最後集成了下面兩個檔案:
- pause---除錯時多插入pause去執行,相當於斷點。
-
rem---註釋,不執行
-
echo 輸出空行,即相當於輸入一個回車,其中 echo. 相當於換行
-
@命令,執行時不顯示@後面的命令列
- 以下是兩個自己寫的bat檔案:
- 自動編譯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 命令視窗輸出文字:@