Les données proviennent d'une commande système (Pipe) listant les fichiers du répertoire spécifié.
1 Bloc de code
MACRO
Explication : Définition de la macro, gestion des options de log et configuration du 'filename pipe' pour exécuter la commande système Windows de listing de fichiers.
Copié !
%macro dirfp2sas(filepattern,dsout);
%local savopts;
%let savopts=%sysfunc(getoption(NOTES));
%if not %length(&dsout) %then %let dsout=_dirfp2sas;
options nonotes;
filename _dirfp pipe
"echo off & for %nrstr(%f) in (""&filepattern"") do echo %nrstr(%f)";
1
%macro dirfp2sas(filepattern,dsout);
2
3
%local savopts;
4
%let savopts=%sysfunc(getoption(NOTES));
5
6
%IF not %LENGTH(&dsout) %THEN %let dsout=_dirfp2sas;
7
8
options nonotes;
9
10
filename _dirfp pipe
11
"echo off & for %nrstr(%f) in (""&filepattern"") do echo %nrstr(%f)";
2 Bloc de code
DATA STEP Data
Explication : Lecture du flux de sortie de la commande système et création de la table de sortie avec le chemin complet et le nom de fichier extrait.
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 : Public domain software. Roland Rashleigh-Berry.
« La macro %dirfp2sas illustre parfaitement l'utilisation des pipes (canaux) pour étendre les capacités de SAS au-delà de la manipulation de tables. En exploitant l'instruction FILENAME PIPE, vous transformez la sortie d'une commande shell Windows (DIR ou FOR) en un flux de données lisible par une étape DATA. C'est une méthode d'une efficacité redoutable pour automatiser l'inventaire de répertoires volumineux ou pour orchestrer l'importation dynamique de fichiers dont les noms varient. L'astuce réside ici dans le nettoyage immédiat via lowcase et scan, permettant de normaliser les noms de fichiers pour des comparaisons ultérieures robustes. »
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.