Rexx-system-commands
Rexx-システムコマンド
Rexxの最大の利点の1つは、再利用可能なスクリプトを作成できることです。 多くの場合、最近の組織では、再利用可能なスクリプトを使用することは、一般的な反復タスクを実行する時間を節約する上で大きな価値です。
たとえば、IT組織のテクノロジーチームは、一般的な日常タスクを実行するスクリプトを用意する必要があります。 これらのタスクには、オペレーティングシステムとの対話が含まれます。 これらのスクリプトは、不良なリターンコードまたはエラーを処理するようにプログラムできます。
Rexxは、このような反復タスクを実行するために使用できる多くのシステムコマンドを提供します。 Rexxで使用できるシステムコマンドの一部を見てみましょう。
dir
これは、Windowsで使用される通常のディレクトリ一覧コマンドです。
構文
dir
パラメーター
None
戻り値
このメソッドは、システム上の現在のディレクトリリストを返します。
例
/*Main program*/
dir
出力は、システム内のディレクトリに依存します。
次のプログラムは単なる例です。
出力
Volume in drive D is LENOVO
Volume Serial Number is BAC9-9E3F
Directory of D:\
04/06/2016 12:52 AM 268,205 100008676689.pdf
10/20/2015 08:51 PM <DIR> data
06/01/2016 10:23 AM 31 Example.txt
10/28/2014 06:55 PM <DIR> Intel
06/02/2016 11:15 AM 23 main.rexx
12/22/2014 08:49 AM <DIR> PerfLogs
12/13/2015 11:45 PM <DIR> Program Files
12/24/2015 10:26 AM <DIR> Program Files (x86)
07/17/2015 01:21 AM <DIR> Users
12/23/2015 10:01 AM <DIR> Windows
3 File(s) 268,259 bytes
7 Dir(s) 202,567,680 bytes free
- dirコマンド*の別の例を次のプログラムに示します。 今回だけ、*特別なrc変数*を使用しています。 この変数はRexxで特別であり、システムコマンドの実行ステータスを示します。 返される値が0の場合、コマンドが正常に実行されていることを意味します。 それ以外の場合、エラー番号はrc変数名で指定されます。
例
/*Main program*/
dir
if rc = 0 then
say 'The command executed successfully'
else
say 'The command failed, The error code is =' rc
上記のプログラムを実行すると、次の結果が得られます。
出力
The command failed, The error code is = 127
リダイレクトコマンド
Rexxには、リダイレクトコマンドを使用する機能もあります。 Rexxでは、次のリダイレクトコマンドを使用できます。
- * <*-このコマンドは、ファイルからの入力を取り込むために使用されます。
- *> *-このコマンドは、コンテンツをファイルに出力するために使用されます。 ファイルが存在する場合、上書きされます。
- >> -コンテンツをファイルに出力するためにも使用されます。 ただし、ファイルの既存の内容を保持するために、出力はファイルの最後に追加されます。
リダイレクトコマンドの使用方法の例を見てみましょう。 次の例では、sortコマンドを使用して sortin.txt というファイルをソートしています。 ファイルからのデータはsortコマンドに送信されます。 次に、sortコマンドの出力がsortout.txtファイルに送信されます。
例
/*Main program*/
'sort <sortin.txt> sortout.txt'
ファイルsortin.txtに次のデータがあると仮定します。
出力
b
c
a
ファイル sortout.txt には、次のデータが含まれます。
a
b
c
ADDRESS関数
このメソッドは、入力ストリーム、エラーストリーム、および出力ストリームに使用されるデフォルト環境を調べるために使用されます。
構文
ADDRESS(options)
パラメーター
- 特定のシステムのアドレスのオプション。
戻り値
このメソッドは、入力、エラー、および出力ストリームの環境の名前を返します。
例
/*Main program*/
say ADDRESS('I')
say ADDRESS('O')
say ADDRESS('E')
上記のプログラムを実行すると、次の結果が得られます。
出力
INPUT NORMAL
REPLACE NORMAL
REPLACE NORMAL