COBOLプログラムからOSのコマンドや他の実行ファイル(.EXE)およびバッチファイル(.BAT)を起動することができますか?

COBOLプログラムからOSのコマンドや他の実行ファイル(.EXE)およびバッチファイル(.BAT)を起動することができますか?
プログラム間連絡機能を使用して、COBOLからWindows APIのCreateProcessを呼び出すことでCOBOLからOSコマンド、他の実行ファイルおよびバッチファイルを起動することができます。

CALL文により、CreateProcessの関数名とオプションを指定します。 関数からの復帰値についても、CALL文のRETURNING指定により受け取ることができます。
起動するOSコマンドや他の実行ファイルまたはバッチファイルのフルパス名と、必要に応 じてコマンド文字列を引数に指定してWindows APIを呼び出し、指定したOSのコマンドや他の 実行ファイルまたはバッチファイルを起動します。また、起動に成功した場合、起動が終了するまで待って、終了コードを受け取ることもできます。
なお、Windows APIを使用する場合は、COBOLから呼び出し可能か(COBOLで必要なパラメータを用意できるかなど)を確認してください。

プログラム間連絡機能の使用方法については、COBOL使用手引書を参照してください。
NetCOBOLには例題プログラム「他のプログラムの起動」としてサンプルプログラムが添付されています。

このほかの方法として、C言語で作成したプログラムからWindows APIを呼び、COBOLからCのプログラムを呼び出すことでも実現できます。この場合は、すべてのWindows APIを使用できます。詳細は、WindowsAPIの仕様を確認してください。
製品・サービス情報
対象製品NetCOBOL
プラットフォームWindows x86, Windows x64, Windows Itanium
アンサー種別 技術サポート
このページの先頭へ