GET_FILESYSTEM
Fonction de script : Récupère différentes valeurs du système de fichiers d'une machine à partir du chemin indiqué.
Syntaxe
GET_FILESYSTEM ([Host],[Path],File System Value[,Unit][, include sub directories][,Login object])
Syntaxe |
Description / format |
---|---|
Host |
Nom de l'agent qui s'exécute sur la machine d'où les informations doivent être récupérées. Format: Nom AE, littéral de script ou variable de script Le dernier agent utilisé avec la fonction de script GET_FILESYSTEM est réutilisé si le nom de l'hôte n'est pas spécifié. Les valeurs récupérées lors de la précédente exécution sont affichées. |
Path |
Indique les fichiers ou systèmes de fichiers pour lesquels les informations doivent être récupérées. Selon le système, vous pouvez nommer ici des fichiers, des lecteurs, des volumes, des chemins, des groupes de données de génération, etc. Les caractères génériques "*" ou "?" peuvent être utilisés. "*" indique un nombre quelconque de caractères, "?" représente un caractère exactement. Notez que Windows n'autorise que les caractères génériques "*" et "?" dans les noms de fichiers. Vous ne pouvez pas les utiliser pour les répertoires dans le chemin. Les caractères * et ? sont toujours utilisés comme caractères génériques. Notez que vous ne pouvez pas les utiliser pour définir des fichiers spécifiques dont le nom contient ces caractères. Format: Nom AE, littéral de script ou variable de script. Le dernier chemin utilisé avec la fonction de script GET_FILESYSTEM est utilisé si le nom du chemin n'est pas spécifié. Les valeurs récuprées lors de l'exécution précédente sont utilisées. Terminez toujours la saisie du chemin par une barre oblique inversée "\*" sous Windows. Utilisez les fonctions de script pour définir les actions à entreprendre en cas d'erreur (exemple : envoyer un message d'erreur si le chemin n'existe pas). Pour plus d'informations, voir Éléments de script pour la gestion des erreurs. Exemple : C:\AUTOMIC\* Le préfixe "VOL=" est requis si un ou plusieurs volumes sont idiqués. Exemple : "VOL=ALG*1" fournit des informations sur tous les volumes commençant par "ALG" et finissant par "1". Tous les autres caractères peuvent se trouver entre. Dans notre exemple, il s'agit exactement de quatre caractères, car le nom d'un volume contient 8 caractères. Pour nommer les groupes de données de génération, le caractère générique "*" doit être utilisé uniquement entre parenthèses. |
File System Value |
Valeur du système de fichiers. Cette fonction de script peut récupérer les informations suivantes : PATH_SPACE_ALLOCATED : mémoire ou espace disque alloués Format: Nom AE, littéral de script ou variable de script |
Unit |
On peut indiquer sous quelle forme la valeur du système de fichiers doit être renvoyée. Si aucune unité de mesure UNIT n'est indiquée, le code retour est défini par l'hôte (valeur par défaut). Par exemple, une machine BS2000 renvoie la valeur "1" pour une page PAM. Cela correspond à 2 048 octets. Si une unité de mesure est indiquée, le code retour est converti comme spécifié. Format: Nom AE, littéral de script ou variable de script La valeur par défaut est utilisée si une unité de mesure non valide est saisie. La fonction de script ne s'interrompt donc pas si vous utilisez :ON_ERROR. |
Include sub-directories |
Paramètre indiquant si les sous-répertoires du chemin spécifié doivent être inclus. Valeurs autorisées : "Y" (valeur par défaut) et "N" Cette option n'est disponible que pour les agents VMS, UNIX et Windows. Notez qu'activer cette option diminue les performances du système AE. |
Login object | Nom de l'objet Login précédemment défini; permet le transfert des données de connexion pour l'objet événement du système de fichiers (optionnel). |
Codes retour |
---|
Résultat pour la valeur recherchée dans le système de fichiers |
Cet élément de script ne peut être utilisé qu'avec des agents de système d'exploitation (Windows, UNIX, VMS, z/OS, OS/400, NSK et BS2000).
Le code de retour de cette fonction est zéro si une erreur survient lors de l'accès aux informations sur le système de fichiers (telle que chemin introuvable).
Conseil : Utilisez l'instruction de script :ON_ERROR pour définir l'action à entreprendre en cas d'erreur. Pour plus d'informations, voir Éléments de script pour la gestion des erreurs.
Si vous utilisez cette fonction de script avec PATH_FILE_COUNT, la fonction peut renvoyer 0 si le répertoire ne contient aucun fichier. Vous devez donc utiliser en plus les fonctions de script pour le traitement des erreurs (par ex. SYS_LAST_ERR_NR). Les erreurs (telle qu'un hôte inactif) peuvent ainsi être détectées et il est possible de différencier si le code retour 0 se rapporte au nombre de fichiers ou à une erreur.
Dans z/OS, la taille du jeu de données renvoyée (PATH_SPACE_USED) peut s'avérer inexacte si le jeu de données se trouve sur des volumes EAV (Extended Address Volumes).
Le manque de droits d'accès aux dossiers du système (information de volume système, Windows) retourne également un code retour 0.
L'instruction de script écrit toutes les transactions ouvertes du script dans la base de données AE. Pour plus d'informations, voir Traitement du script.
Paramètres optionnels Host (hôte) et Path (chemin)
Exemples
Lorsqu'un événement FILE se produit, la fonction de script GET_FILESYSTEM peut être utilisée pour récupérer des informations sur le système de fichiers, la mémoire ou l'espace disque. Toutes les informations sont transférées à l'agent. Chaque élément peut être interrogé séparément en indiquant la valeur du système de fichiers. Dans ce cas, la fonction de script est exécutée sans indiquer d'hôte ni de chemin, car ces paramètres sont déjà définis dans l'onglet Détail de l'événement.
GET_FILESYSTEM peut être utilisée dans les onglets Traitement de tous les objets exécutables (tels que les workflows). Il faut toujours indiquer un hôte et un chemin lors de l'exécution de cette fonction de script. Ces paramètres ne peuvent être omis que si GET_FILESYSTEM a déjà été exécuté une fois dans le script. Dans ce cas la valeur retournée est la même que celle de l'exécution précédente.
:SET &NumberFiles# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT)
!several script lines
:SET &NumberFiles# = GET_FILESYSTEM(,, PATH_FILE_COUNT)
!several script lines
:SET &NumberFiles# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT)
La première exécution de GET_FILESYSTEM renvoie le nombre de fichiers dans le répertoire C:\Temp (par ex. 50). Si certains de ces fichiers on été supprimés, cette fonction de script continuera à renvoyer la valeur 50. Finalement, la troisième exécution recalcule les valeurs du système de fichiers et renvoie un nombre de fichiers inférieur.
Considérations spécifiques à la plateforme
Les valeurs du système de fichier et informations suivantes ne s'appliquent qu'à certaines plateformes.
-
OS/400
Spécifiez toujours une bibliothèque et un fichier pour obtenir des valeurs valides du système de fichiers. -
z/OS
- PATH_SPACE_ALLOCATED : l'espace mémoire attribué dans z/OS ne peut pas être récupéré. Retourne l'espace disque utilisé
- PATH_SPACE_USED : espace disque utilisé.
- PATH_SPACE_UNUSED : est toujours nul, car cette valeur correspond à la différence entre PATH_SPACE_ALLOCATED et PATH_SPACE_USED.
-
BS2000
Seulement dans BS2000, l'espace disque alloué et utilisé peuvent différer. Par exemple, 1000 pages PAM peuvent être réservées. Mais le contenu du fichier ne comporte que 100 pages PAM. -
Autre système d'exploitation, tel que UNIX et VMS
- PATH_FILE_COUNT : nombre de fichiers.
- PATH_FOLDER_COUNT : nombre de dossiers.
- PATH_SPACE_USED : somme de la taille des fichiers pour le chemin spécifié.
- PATH_SPACE_TOTAL : identique à PATH_SPACE_USED et PATH_SPACE_ALLOCATED.
Exemples
Dans l'exemple suivant, la fonction de script GET_FILESYSTEM est utilisée pour récupérer le nombre de fichiers existants et pour envoyer le message correspondant. Il s'agit d'un extrait du script d'un événement, les deux premiers paramètres n'étant pas spécifiés.
:SET &NUMBER# = GET_FILESYSTEM(,,PATH_FILE_COUNT)
:SEND_MSG "BROWN","IT","&NUMBER# files are available for processing."
Dans l'exemple suivant, la fonction de script GET_FILESYSTEM est utilisée dans le script d'un job. Toutes les informations disponibles sur le disque sont récupérées et écrites dans le rapport d'activation.
: SET &E1# = GET_FILESYSTEM(WIN01,"E:\",FILESYSTEM_SPACE_TOTAL,MB)
: SET &E2# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_USED,MB)
: SET &E3# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_FREE,MB)
: PRINT "Memory capacity of the drive: &E1# MB"
: PRINT "Used
drive space: &E2# MB"
: PRINT
"Available space: &E3# MB"
Les exemples suivants illustrent l'utilisation de la fonction de script avec GDG :
!Number of file generations of the group TEST.XXX
:SET &FILENAME# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(*)",
PATH_FILE_COUNT)
!Sum of the space used by the current generation
:SET &SPACE# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(0)",
PATH_SPACE_USED)
Voir aussi :