RUNQSH
( Run QShell Command
) は SHELL
コマンドをバッチで実行するための簡易コマンドである。
IBM が 提供している STRQSH
では対話式での SHELL
コマンドを実行するが、
バッチで実行するためのコマンドは提供されていない。
そこで、ここではバッチで SHELL
コマンドを実行できる RUNQSH
コマンドを紹介する。
0001.00 CMD PROMPT('Execute Shell Command as batch') 0002.00 PARM KWD(CMD) TYPE(*CHAR) LEN(1024) CASE(*MIXED) + 0003.00 PROMPT(COMMAND)
0001.00 PGM PARM(&CMD) 0002.00 /*---------------------------------------------------------*/ 0003.00 /* RUNQSH : EXECUTE SHELL CCOMMAND AS BATCH */ 0004.00 /*---------------------------------------------------------*/ 0005.00 DCL VAR(&CMD) TYPE(*CHAR) LEN(1024) 0006.00 DCL VAR(&MSG) TYPE(*CHAR) LEN(80) 0007.00 MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) 0008.00 0009.00 STRQSH CMD(&CMD) 0010.00 SNDPGMMSG MSG(&CMD *TCAT ' 完了しました。 ') + 0011.00 MSGTYPE(*COMP) 0012.00 RETURN 0013.00 0014.00 ERROR: RCVMSG RMV(*NO) MSG(&MSG) 0015.00 SNDMSG: SNDPGMMSG MSG(&MSG) MSGTYPE(*COMP) 0016.00 ENDPGM
STRQSH
コマンドを実行するだけの簡単なものであるが、バッチで SHELL
コマンドを実行するのであれば
この RUNQSH
を利用してもよいし、あるいは RUNQSHCL
にある
STRQSH CMD(&CMD)
のような記述を自分の CLP の中に入れてもバッチで実行することができる。