2007年03月19日 [長年日記]
_ とりあえず。
にっきが見られなくなってる問題を対処しておきました。
_ んで。
相変わらず仕事が忙しいようで、またもやココを放置しちゃってます。 仕事が落ち着いたら作りかけのアレやら、コレやらの開発を再開したいので、気長〜〜にお待ちくださいませ。
…結局時間作れなくて、caltをソフコンに応募できなかったしな…。
あれ?もう結果も出てるんだっけ?
_ VSSで、指定したラベルのファイル一式を取得するバッチ
VSSってコマンドラインで使うためのツール(ss.exe)があるんですね。 早速、今まで手動でやってて面倒だった、指定したラベルのファイル一式を取得するバッチを書いてみました。
ホントはあるラベルからあるラベルまでの間に修正されたファイルのみを取得するバッチにしたかったんですが、時間が無くてここまで。 このバッチを2回流した結果をDiDiで見れば差分が作れるのでまずはよいかなーと。
@ECHO OFF SETLOCAL REM 引数の解析 SET PROJECT=%1 SHIFT IF "%PROJECT%" == "" GOTO :ERROR SET LABEL=%1 IF NOT "%LABEL%" == "" ( SET LABELOPT=-Vl%LABEL% ) ELSE ( FOR /F "usebackq" %%I IN (`TIME /T`) DO SET NOWTIME=%%I ) IF "%NOWTIME%" == "" ( SET DIR=%LABEL% ) ELSE ( SET DIR=%DATE:/=%_%NOWTIME::=% ) REM VSSから指定した時点のソースを取得する。 REM いったんディレクトリを削除しちゃうので注意。 REM ss.exe Getのオプション説明 REM -I-N 問合せに「N」で回答する。 REM 規定のフォルダとして設定するか聞かれるのがウザいので。 REM -GTM ファイルの日付を、ファイルが最後に変更された日にする。 REM 前回との差分を調べるのに都合が良いから。 REM -O- エラー出力のみ表示する。 REM 取得したファイル名はDIRすれば分かるので。 REM -W ファイルを読み書き可能にする。 REM VSSでその後も管理したいわけではないので。 IF EXIST %DIR%\CON RMDIR /S /Q %DIR% MKDIR %DIR% ss.exe Get %PROJECT% -I-N -GTM -O- -W %LABELOPT% -GL%DIR% IF ERRORLEVEL 1 RMDIR /S /Q %DIR% REM VSSが生成する隠しファイルは必要ないので消す。 DEL /S /A:H /F vssver2.scc > NUL GOTO :EXIT :ERROR ECHO エラー:引数が足りないですよ。 ECHO usage: GetVss.bat Project [Label] ECHO Project: プロジェクト名 ECHO Label: 取得するラベル(省略時は最新を取得) :EXIT ENDLOCAL