Publié le :

Macro de copie de fichier système (AHGtoSDD)

Ce code est également disponible en : Deutsch English Español
Attention : Ce code nécessite des droits administrateur.
Cette macro vérifie l'existence d'un fichier source spécifié par le paramètre 'from'. Si le fichier existe, elle exécute une commande système via l'instruction 'x' pour le copier vers la destination 'to', potentiellement en le renteommant. La syntaxe de la commande système ('copy', usage de backslashes, flag '/y') est spécifique aux environnements Windows et pourrait nécessiter une adaptation pour un environnement SAS© Viya sous Linux. Le code dépend également d'une macro externe '%AHGfilename'. L'utilisation de la commande 'x' requiert que l'option XCMD soit activée sur le serveur.
Analyse des données

Type : EXTERNE


Le script manipule des fichiers physiques directement via le système d'exploitation, sans passer par des bibliothèques SAS.

1 Bloc de code
MACRO
Explication :
Définition de la macro. Elle déclare des variables locales, appelle une macro utilitaire (%AHGfilename), vérifie l'existence du fichier source avec %sysfunc(fileexist) et exécute la copie via une commande shell 'x' si la condition est remplie.
Copié !
1%macro AHGtoSDD(from,to,rename=);
2 
3%local filename toname;
4%let filename=%AHGfilename(&from);
5 
6 
7%IF %sysfunc(fileexist(&from)) %THEN x "copy &from &to\&rename/y";
8 
9%mend;
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.
Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« La macro AHGtoSDD illustre une technique classique d'interaction entre SAS et le système de fichiers Windows. L'utilisation de commandes système natives comme copy permet de manipuler des fichiers sans avoir à les charger en mémoire SAS, ce qui est extrêmement efficace pour des fichiers volumineux ou des formats non-SAS. »