Attention : Ce code nécessite des droits administrateur.
La macro `%cmd2ds` prend deux paramètres : `cmd` (la commande système à exécuter) et `dsout` (le nom du jeu de données de sortie, par défaut `_cmd2ds`). Elle utilise l'interface `filename ... pipe` pour exécuter la commande et rediriger sa sortie standard. Un DATA STEP lit ensuite chaque ligne de cette sortie et la stocke dans une variable `str` de 256 caractères dans le jeu de données spécifié. La référence `filename` est ensuite libérée, ce qui est crucial pour les ressources système.
Analyse des données
Type : CREATION_INTERNE
Le jeu de données de sortie est créé dynamiquement en lisant la sortie standard d'une commande système exécutée via l'interface 'pipe'. Chaque ligne de sortie de la commande devient une observation dans le jeu de données SAS.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc définit la macro `%cmd2ds`. Il gère le nom du jeu de données de sortie en lui attribuant une valeur par défaut `_cmd2ds` si `dsout` n'est pas spécifié. La déclaration `filename _cmd2ds pipe "&cmd";` est cruciale car elle exécute la commande système fournie par le paramètre `&cmd` et associe sa sortie à la fileref `_cmd2ds`. Le `DATA STEP` lit ensuite cette sortie ligne par ligne à l'aide de `infile _cmd2ds;` et `input;`, assignant chaque ligne à la variable `_infile_` puis à la variable `str`, créant ainsi le jeu de données SAS. Enfin, `filename _cmd2ds CLEAR;` libère la fileref, fermant le pipe et libérant les ressources système.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.