Le script utilise le jeu de données `CLASS` provenant de la bibliothèque interne `SASHELP`.
1 Bloc de code
MACRO DEFINITION
Explication : Ce bloc définit la macro `create_newfolder`. Elle prend un argument `newfld` (le chemin du dossier à créer). Elle utilise `%sysfunc(fileexist())` pour vérifier si le dossier existe déjà. Si non, elle utilise `%sysexec` avec `md` (pour Windows) ou `mkdir -p` (pour Linux) pour créer le dossier. L'utilisation de `%sysexec` est une fonction administrative permettant l'exécution de commandes système et nécessite des privilèges appropriés.
Copié !
%macro create_newfolder(newfld);
%*---------------------------------------------------------;
%*check for the existence of the folder;
%*---------------------------------------------------------;
%if %sysfunc(fileexist(&newfld)) %then %put NOTE:The directory "&newfld" already EXISTS.;
%*---------------------------------------------------------;
%*create the folder(s) recursively if absent;
%*---------------------------------------------------------;
%else %do;
%*---------------------------------------------------------;
%*check the operating system and use the OS specific command;
%*---------------------------------------------------------;
%if "%bquote(%substr(&sysscp,1,3))"="WIN" %then %sysexec md "&newfld";
%else %if "%bquote(%substr(&sysscp,1,3))"="LIN" %then %sysexec mkdir -p "&newfld";
%put NOTE:The directory "&newfld" has been CREATED.;
%end;
%mend csg_create_newfolder_001;
%put NOTE:The directory "&newfld" has been CREATED.;
20
%END;
21
22
23
%mend csg_create_newfolder_001;
2 Bloc de code
MACRO CALL / LIBNAME
Explication : Ce bloc appelle la macro `create_newfolder` pour créer le dossier `D:\SAS\mactest`. Ensuite, il attribue le nom de bibliothèque `mylib` à ce nouveau dossier, le rendant accessible pour les opérations SAS.
Explication : Ce bloc DATA STEP copie le jeu de données `CLASS` de la bibliothèque SASHELP (implicitement, car `set class;` sans libname qualifié référence `SASHELP.CLASS` si `WORK.CLASS` n'existe pas) vers la nouvelle bibliothèque `mylib`, créant ainsi `mylib.class` dans le dossier `D:\SAS\mactest`.
Copié !
data mylib.class;
set class;
run;
1
DATA mylib.class;
2
SET class;
3
RUN;
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.
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.