ページの先頭行へ戻る
NetCOBOL V12.0 PowerCOBOL ユーザーズガイド
FUJITSU Software

5.5.9 バッチモードでビルドする

PowerCOBOLでは、プロジェクトファイルに含まれるすべてのモジュールを、バッチモードでビルドまたはリビルドすることができます。(以降、バッチビルドと呼びます)

バッチビルドは、Windowsのコマンドプロンプト(DOSプロンプト)で実行します。

バッチビルドコマンドの指定形式

バッチビルドするためのコマンドは、以下の形式で指定します。

  PowerCOB  {/build|/rebuild}
             [/Debug|/Release]
             [/cbi:"翻訳オプションファイル名"]
              "プロジェクトファイル名"

ビルドまたはリビルドした結果は、プロジェクトファイルと同じフォルダに、"プロジェクト名.BLG"というファイル名で出力されます。

/build | /rebuild

プロジェクトファイルに含まれるすべてのモジュールをビルドする場合は、/buildを、リビルドする場合は、/rebuildを指定します。

/Debug | /Release

デバッグモードでバッチビルドする場合は、/Debugを、リリースモードでバッチビルドする場合は、/Releaseを指定します。

省略した場合、プロジェクトのプロパティ設定ダイアログボックスで指定されているビルドモードになります。

/cbi:"翻訳オプションファイル名"

プロジェクトファイルに指定してある翻訳オプション(登録集フォルダおよび登録集名も含む)を無効にし、翻訳オプションファイルに指定した翻訳オプションを有効にします。このオプションが指定されていない場合は、外部COBOLファイルおよびスクリプトのプロパティ設定ダイアログボックスで指定されている翻訳オプションが有効になります。

"プロジェクトファイル名"

ビルドまたはリビルドするプロジェクトファイル名です。ただし、PowerCOBOLのV3.0以前のバージョンで作成されたプロジェクトファイル(拡張子がPRJ)は、指定できません。

復帰値

バッチビルドの復帰値は、以下のとおりです。

  • ビルドに成功:0

  • ビルドに失敗:1

なお、Iレベル、Wレベルのエラーがある場合、またはすべて更新されている状態でビルドしたときにもビルドは成功します。バッチビルド完了後、ビルド結果を確認してください。

ポイント

バッチビルドのコマンド指定では、大文字と小文字の区別はありません。

バッチビルドの使用例

バッチビルドの使用例を以下に示します。

バッチビルドの使用例1

PowerCOBOLで作成したプロジェクトファイル"C:\PROJ1\PROJ1.PPJ"を、バッチビルドする場合、以下のように指定します。

  powercob /build "c:\proj1\proj1.ppj"

バッチビルドの結果("C:\PROJ1\PROJ1.BLG")は、以下のようになります。

コンパイルのための型情報を作成しています...
c:\proj1\Main\Debug\MainForm.cob を作成しています...
最大重大度コードは I です。
c:\proj1\Main\Debug\MainForm.cob をコンパイルしています...
最大重大度コードは I で,翻訳したプログラム数は 1 本です.
c:\proj1\Main\Debug\Main.rc をリソースコンパイルしています...
c:\proj1\Debug\Main.exe をリンクしています...
** ビルドが成功しました **
バッチビルドの使用例2

PowerCOBOLで作成したプロジェクトファイル"C:\PROJ2\PROJ2.PPJ"を、翻訳オプションファイル"C:\PROJ2\PROJ2.CBI"を有効にして、デバッグモードでリビルドする場合、以下のように指定します。

  powercob /rebuild /debug /cbi:"c:\proj2\proj2.cbi" "c:\proj2\proj2.ppj"

エラーがあった場合、バッチビルドの結果("C:\PROJ2\PROJ2.BLG")は、以下のようになります。

コンパイルのための型情報を作成しています...
c:\proj2\sub1\Debug\sub1form.cob を作成しています...
最大重大度コードは I です。
c:\proj2\sub1\Debug\sub1form.cobをコンパイルしています...
** 診断メッセージ ** (SUB1FORM)
sub1form sub1form-Opened(5):JMN2503I-S 利用者語'data1'が定義されていません.
sub1form sub1form-Opened(5):JMN2557I-S DISPLAY文の書き方が不完全です.
最大重大度コードは S で,翻訳したプログラム数は 1 本です.
** ビルドに失敗しました **
バッチビルドの使用例3

複数のプロジェクトファイルを一括してリビルドし、ビルドの結果を1つのファイルに出力する場合は、以下のようなバッチファイル"ALLBUILD.BAT"を作成し、実行します。

ECHO OFF
ECHO ##### C:\PROJ1\PROJ1.PPJ ##### >> %2
ECHO POWERCOB /%1 "C:\PROJ1\PROJ1.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ1\PROJ1.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ1\PROJ1.BLG >> %2
ECHO ##### C:\PROJ2\PROJ2.PPJ ##### >> %2
ECHO POWERCOB /%1 "C:\PROJ2\PROJ2.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ2\PROJ2.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ2\PROJ2.BLG >> %2
ECHO ##### C:\PROJ3\PROJ3.PPJ ##### >> %2
ECHO POWERCOB /%1 "C:\PROJ3\PROJ3.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ3\PROJ3.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ3\PROJ3.BLG >> %2
・
・
・
:END

実行するコマンドは以下のようになります。

  allbuild rebuild c:\temp\allbuild.blg

実行が終了したら、バッチビルド結果("C:\TEMP\ALLBUILD.BLG")を確認してください。

注意

別のフォルダに移動したプロジェクトファイルをバッチビルドすると、「ビルドまたはコンパイルのために、プロジェクトを保存しますか?」というメッセージボックスが表示されます。この場合、メッセージボックスに応答しないと処理が進まないため、バッチ的なビルドができなくなります。メッセージボックスを表示したくない場合、オプションのプロパティ設定ダイアログボックスの[ビルド]タブで、[ビルド時に自動的に保存する]をチェック状態にしておきます。
なお、自動的に保存したくない場合は、チェックをはずすか、プロジェクトファイルの属性を読み取り専用にしてください。

翻訳オプションファイルの作成方法

翻訳オプションファイルを作成するには、WINCOBコマンドを使用します。WINCOBコマンドは、COBOLが提供しているCOBOLソースを翻訳するコマンドです。このWINCOBコマンドを以下の指定形式で起動すると、[翻訳オプション]ダイアログボックスが表示されます。ここで翻訳オプションを指定してください。

WINCOBコマンドについては、『NetCOBOL ユーザーズガイド』を参照してください。

注意

/cbiオプションを使用して登録集ファイルを変更する場合、翻訳オプションLIBを使用してください。