#眉標=VSS 2005 #副標=Visual Studio 2005 + Visual Source Safe 2005 #大標=命令列專案建置工具 #作者=文/圖 林學文 #引言= ==<反灰>=========== SET SSDIR=L:\VSSDB\CLR2$ ================ ==<反灰>=========== ss Get $/%SluName%.root -R -yJustin_Lin -I-N -Vl%VSSVersion% ================ ==<反灰>=========== call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86 ================ ==<反灰>=========== devenv.exe %SluName%.sln /build %BuildSetting% ================ ============= 程式1 %echo OFF REM %1% : 要編譯的方案名稱(不含.sln) REM %2% : 是否要先更新方案所引用的DLL REM %3% : 要編譯的方案組態設定名稱   ##(例如Release) REM %4% : 要由VSS中取出的Label SET SluName=%1% REM 由VSS中取得最新版本,   ##要記得改登入名稱 IF /i %4% == "" GOTO GetSSNoVersion SET VSSVersion=%4% echo 取得VSS上的 %VSSVersion% 版本 ss Get $/%SluName%.root -R -yJustin_Lin   ##-I-N -Vl%VSSVersion% goto EndGetVersion :GetSSNoVersion ss Get $/%1%.root -R -yJustin_Lin -I-N :EndGetVersion cd ./%1% REM 更新方案所引用的DLL IF /i %2% == NO GOTO BUILD cd ./Dlls call FileSync.bat cd .. :BUILD REM 如果在同一行指令中使用%1%及%2%,   ##則組起來的參數會很怪。所以先將%1%這些參數另外命名,再使用。 SET BuildSetting=%3% devenv.exe %SluName%.sln /build %BuildSetting% echo 編譯結果 : %errorlevel% IF %errorlevel% == 0 GOTO UPDATEDLLS echo %SluName% 編譯錯誤!!!!! PAUSE EXIT REM 更新方案所提供的DLL :UPDATEDLLS call Update_%1%_DLL.bat cd .. SET BuildSetting= SET SluName= %echo ON ================ ==<反灰>=========== SET SluName=%1% ================ ==<反灰>=========== devenv.exe %SluName%.sln /build %BuildSetting% ================ ==<反灰>=========== devenv.exe %1%.sln /build %3% ================ ==<反灰>=========== devenv.exe %1%3 ================ ============= 程式2 call "C:\Program Files\Microsoft Visual Studio 8\VC   ##\vcvarsall.bat" x86 echo ON REM 切換到專案目錄 cd D:\Project_NET\BigProjects TITLE Build Utility call D:\VSSBatch\Get_Build.bat Utility NO Release TITLE Build PublishServer call D:\VSSBatch\Get_Build.bat   ##PublishServer YES Release TITLE Build PricePublishServer call D:\VSSBatch\Get_Build.bat   ##PricePublishServer YES Release set SSDIR= ================