Publié le :
Administration CREATION_INTERNE

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é !
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é !
1options dlcreatedir;
2LIBNAME TEMP "%sysfunc(getoption(WORK))/tmpdir";
3LIBNAME TEMP clear;
4 
5filename text1 "%sysfunc(getoption(WORK))/tmpdir/delete_1.txt";
6 
7DATA _null_;
8 file text1;
9 put "file to be deleted";
10RUN;
11 
12filename text1 clear;
13 
14filename text2 "%sysfunc(getoption(WORK))/tmpdir/delete_2.txt";
15 
16DATA _null_;
17 file text2;
18 put "file to be deleted";
19RUN;
20 
21filename text2 clear;
22 
23LIBNAME TEMP "%sysfunc(getoption(WORK))/tmpdir/subdir";
24LIBNAME TEMP clear;
25 
26filename text3 "%sysfunc(getoption(WORK))/tmpdir/subdir/delete_3.txt";
27 
28DATA _null_;
29 file text3;
30 put "file to be deleted";
31RUN;
32 
33filename text3 clear;
3 Bloc de code
Macro
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é !
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