ソースコンパイル方法:
build Solution Cmd:
devenv.exe C:\TestSolution.sln /build Release /out c:\build.log
rebuild Solution Cmd:
devenv.exe C:\TestSolution.sln /rebuild Release /out c:\rebuild.log
VSS取得方法:
REM set vsserver path (srcsafe.ini path) for ss.exe
set SSDIR=\\vssserver\vssdb1
REM set local file path
set GETPATH=C:\localVss
REM set rootPath on VSS
set VSSROOT=$/
REM get files from vss. -option pamameter has no space with param value,
ss.exe Get %VSSROOT% -GL%GETPATH% -R -I-Y -Q -Y[VSS_USER],[VSS_PASS]
-GL は取得するファイルを指定ローカルパス(ディフォルトパスではなく)に保存する。
オプション 説明
-C 指定されたすべての項目に共通のコメントを適用します。Directory コマンドでは、このオプションには別の機能が割り当てられています。
-O 結果情報の出力方法を、画面単位またはリダイレクトに指定します。
-V 項目の特定のバージョンを操作対象にします。
-R 指定された項目以下の全階層にコマンドを実行します。
-S SmartMode のオン/オフを切り替えます。
-G ローカル ドライブに取得したファイルを処理する Get コマンドの動作を変更します。
-W ローカル コピーを読み取り専用にするかどうかを指定します。
-N 長いファイル名または短いファイル名のどちらを使用するかを指定します。
-I- ユーザーへの入力要求が一切行われないようにします。
-Y ユーザー名とパスワードを指定します。
-?、-H オンライン ヘルプを表示します。-? と -H のいずれかを指定します。
SAMPLE:
REM ==============================
@echo off
echo 作業ディレクトリを作成中...
set workdir=C:\Work\App
REM /s 指定したディレクトリとそのすべてのサブディレクトリを、
REM その中のすべてのファイルも含めて削除します。ツリーを削除するには /s を使用します。
REM /q rmdir を Quiet モードで実行します。確認メッセージを表示せずに、ディレクトリを削除します。
if exist %workdir% rmdir %workdir% /s /q
mkdir %workdir%
cd "%workdir%"
echo ソリューションの取得中...
set path=%path%;C:\Program Files\Microsoft Visual Studio\VSS\win32\
set ssUser=wang.xiaoguang
set ssPwd=
set ssDir=\\Server\VSS\App
REM バージョンラベルを指定してソリューションを取得する
REM ss Get "$/Root/App" -W -R -I-Y -GL%workdir% "-VL Version 1.1 Beta"
ss Get "$/Root/App" -W -R -I-Y -GL%workdir%
if errorlevel 100 goto VssBigErr
if errorlevel 1 goto VssSmallErr
echo ソリューションの取得が完了しました!
echo ビルドの実行中...
set path=%path%;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
devenv %workdir%\App.sln /rebuild Release /out %workdir%\build.log
REM errlorlevelを返さないためReleaseフォルダが作成されたかで確認
if not exist %workdir%App1\bin\Release goto vsneterr
if not exist %workdir%App2\bin\Release goto vsneterr
echo 正常にソリューションのビルドが完了しました!
pause
exit 0
REM -------------------------------------------
:VssBigErr
echo ss.exe エラーレベル=100。問題が発生しました。データ ファイルが見つからない、
echo チェックアウトしようとしたファイルが既にチェックアウトされている、などの原因が考えられます。
echo ソリューションの取得でエラーが発生したので処理を中断しました!
pause
exit 100
:VssSmallErr
echo ss.exe エラーレベル=1。軽度のエラーです。これは、次のいずれかの状況で起こります。
echo ss Dir を実行しても項目が見つからない場合。
echo ss Status を実行したとき、少なくとも 1 つの項目がチェックアウトされている場合。
echo ss Diff を実行したとき、少なくとも 1 つのファイルが異なっている場合。
echo いずれの場合も、このコマンドが正常終了しても、次のコマンドが失敗するおそれがあります。
echo ソリューションの取得でエラーが発生したので処理を中断しました!
pause
exit 200
:vsneterr
echo ソリューションのビルドでエラーが発生したので処理を中断しました!
pause
exit 300
REM ==============================
没有评论:
发表评论