Rexx - 系統命令



Rexx 最大的優勢之一是能夠建立可重用的指令碼。如今,在許多組織中,可重用指令碼可以節省大量時間來完成常見的重複性任務,因此具有很大的價值。

例如,IT 組織中的技術團隊可能需要編寫指令碼來自動執行日常任務。這些任務可能包括與作業系統的互動。然後可以對這些指令碼進行程式設計以處理錯誤的返回程式碼或錯誤。

Rexx 提供了許多系統命令,可用於執行此類重複性任務。讓我們看看 Rexx 中提供的一些系統命令。

dir

這是 Windows 中常用的目錄列表命令。

語法

dir

引數

返回值

此方法返回系統上的當前目錄列表。

示例

/* 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
廣告

© . All rights reserved.