Rexx - Commandes système

L'un des plus grands avantages de Rexx est la possibilité de créer des scripts réutilisables. Souvent, dans les organisations de nos jours, avoir des scripts réutilisables est une grande valeur ajoutée pour gagner du temps pour effectuer des tâches répétitives courantes.

Par exemple, les équipes technologiques d'une organisation informatique peuvent avoir besoin de disposer de scripts qui effectuent des tâches quotidiennes courantes. Ces tâches peuvent inclure l'interaction avec les systèmes d'exploitation. Ces scripts peuvent ensuite être programmés pour gérer les mauvais codes de retour ou les erreurs.

Rexx propose un grand nombre de commandes système qui peuvent être utilisées pour effectuer de telles tâches répétitives. Regardons quelques-unes des commandes système disponibles dans Rexx.

dir

Il s'agit de la commande de liste de répertoires normale utilisée sous Windows.

Syntaxe

dir

Paramètres

Aucun

Valeur de retour

Cette méthode renvoie la liste actuelle du répertoire sur le système.

Exemple

/* Main program */ 
dir

La sortie dépend du répertoire du système.

Le programme suivant n'est qu'un exemple.

Production

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

Un autre exemple de la dir commands'affiche dans le programme suivant. Seulement cette fois, nous utilisons lespecial rc variable. Cette variable est spéciale dans Rexx et vous donne le statut de l'exécution des commandes système. Si la valeur renvoyée est 0, cela signifie que la commande est exécutée avec succès. Sinon, le numéro d'erreur sera indiqué dans le nom de la variable rc.

Exemple

/* Main program */ 
dir 
if rc = 0 then 
   say 'The command executed successfully' 
else 
   say 'The command failed, The error code is =' rc

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons le résultat suivant.

Production

The command failed, The error code is = 127

Commandes de redirection

Rexx a également la possibilité d'utiliser des commandes de redirection. Les commandes de redirection suivantes sont disponibles dans Rexx.

  • < - Cette commande permet de saisir l'entrée qui provient d'un fichier.

  • >- Cette commande est utilisée pour sortir le contenu dans un fichier. Si le fichier existe, il sera écrasé.

  • >>- Ceci est également utilisé pour sortir le contenu dans un fichier. Mais la sortie est ajoutée à la fin du fichier pour conserver le contenu existant du fichier.

Regardons un exemple de la façon dont nous pouvons utiliser les commandes de redirection. Dans l'exemple suivant, nous utilisons la commande sort pour trier un fichier appelésortin.txt. Les données du fichier sont envoyées à la commande de tri. La sortie de la commande de tri est ensuite envoyée dans le fichier sortout.txt.

Exemple

/* Main program */ 
'sort <sortin.txt> sortout.txt'

Supposons que le fichier sortin.txt contient les données suivantes.

Production

b 
c 
a

Le fichier sortout.txt aura alors les données suivantes.

a 
b 
c

La fonction ADRESSE

Cette méthode est utilisée pour découvrir quel est l'environnement par défaut utilisé pour les flux d'entrée, d'erreur et de sortie.

Syntaxe

ADDRESS(options)

Paramètres

  • Options pour quelle est l'adresse d'un système particulier.

Valeur de retour

Cette méthode renvoie le nom de l'environnement pour les flux d'entrée, d'erreur et de sortie.

Exemple

/* Main program */ 
say ADDRESS('I') 
say ADDRESS('O') 
say ADDRESS('E')

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons le résultat suivant.

Production

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL