Test de la macro de suppression d'arborescence de dossiers
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Ce script a pour but de tester la macro utilitaire %m_utl_delete_tree. Il commence par afficher l'aide de la macro. Ensuite, il prépare un environnement de test en créant un dossier 'tmpdir' dans la bibliothèque WORK, ainsi que des fichiers et un sous-dossier contenant un autre fichier à l'intérieur. Finalement, il appelle la macro %m_utl_delete_tree pour effacer complètement l'arborescence 'tmpdir', validant ainsi son fonctionnement. Les options de journalisation (print) et de débogage (debug) sont activées pour une sortie détaillée.
Analyse des données
Type : CREATION_INTERNE
Le script ne lit aucune donnée existante. Il génère sa propre structure de fichiers et de dossiers temporaires dans le répertoire WORK à l'aide d'instructions LIBNAME, FILENAME et d'étapes DATA _NULL_ dans le seul but de tester la suppression.
1 Bloc de code
Macro
Explication : Appelle la macro %m_utl_delete_tree avec le paramètre '?' pour afficher les informations d'aide et la documentation de la macro dans le journal SAS.
Copié !
%* Example 1: Show help information: ;
%m_utl_delete_tree(?)
1
%* Example 1: Show help information: ;
2
%m_utl_delete_tree(?)
2 Bloc de code
DATA STEP Data
Explication : Ce bloc prépare l'environnement de test. Il active la création de répertoires (options dlcreatedir), puis crée une arborescence dans le répertoire WORK : un dossier 'tmpdir' avec deux fichiers texte ('delete_1.txt', 'delete_2.txt') et un sous-dossier 'subdir' contenant un troisième fichier ('delete_3.txt').
Copié !
options dlcreatedir;
libname TEMP "%sysfunc(getoption(WORK))/tmpdir";
libname TEMP clear;
filename text1 "%sysfunc(getoption(WORK))/tmpdir/delete_1.txt";
data _null_;
file text1;
put "file to be deleted";
run;
filename text1 clear;
filename text2 "%sysfunc(getoption(WORK))/tmpdir/delete_2.txt";
data _null_;
file text2;
put "file to be deleted";
run;
filename text2 clear;
libname TEMP "%sysfunc(getoption(WORK))/tmpdir/subdir";
libname TEMP clear;
filename text3 "%sysfunc(getoption(WORK))/tmpdir/subdir/delete_3.txt";
data _null_;
file text3;
put "file to be deleted";
run;
filename text3 clear;
Explication : Exécute la macro %m_utl_delete_tree pour supprimer le dossier 'tmpdir' et tout son contenu. Le paramètre `path` spécifie le dossier cible, `subdirs = Y` active la suppression récursive des sous-dossiers, et `print = Y` / `debug = Y` demandent une journalisation détaillée de l'opération.
Copié !
%m_utl_delete_tree(
path = %sysfunc(getoption(WORK))/tmpdir
, subdirs = Y
, print = Y
, debug = Y
);
1
%m_utl_delete_tree(
2
path = %sysfunc(getoption(WORK))/tmpdir
3
, subdirs = Y
4
, PRINT = Y
5
, debug = Y
6
);
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 : Copyright 2008-2025 Paul Alexander Canals y Trocha
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.