Tools

40. SHELL コマンドをバッチで実行する RUNQSH

RUNQSH ( Run QShell Command ) は SHELL コマンドをバッチで実行するための簡易コマンドである。
IBM が 提供している STRQSH では対話式での SHELLコマンドを実行するが、
バッチで実行するためのコマンドは提供されていない。
そこで、ここではバッチで SHELLコマンドを実行できる RUNQSH コマンドを紹介する。

【コマンド: 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)                              
		
【CLP: RUNQSHCL】
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 の中に入れてもバッチで実行することができる。