Veröffentlicht am :
Makro CREATION_INTERNE

Generierung eines eindeutigen temporären Dateinamens (AHGgettempfilename)

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `AHGgettempfilename` wiederholt sich, bis ein Dateiname gefunden wird, der physisch nicht auf der Festplatte existiert (Überprüfung mittels der Funktion `fileExist`). Es konstruiert den Namen unter Verwendung eines Präfixes und eines zufälligen Teils, der von der Funktion `normal(0)` abgeleitet ist. Das Ergebnis wird dynamisch in der Makrovariablen gespeichert, deren Name als Parameter übergeben wird.
Datenanalyse

Type : CREATION_INTERNE


Es werden keine externen Daten gelesen. Das Skript generiert algorithmisch Zeichenketten (Dateinamen).

1 Codeblock
MACRO
Erklärung :
Definition des Makros. Es verwendet eine `%do %until`-Schleife in Verbindung mit `%sysfunc(fileExist(...))`, um die Einzigartigkeit der Datei zu gewährleisten. Die Zielvariable (per Referenz über `tempname` übergeben) wird bei jeder Iteration mit einem neuen Kandidaten, der eine zufällige Zeichenkette enthält, aktualisiert.
Kopiert!
1%macro AHGgettempfilename(tempname,dir=%AHGtempdir,start=&tempname,ext=txt);
2 %local rdn ;
3 %DO %until (not %sysfunc(fileExist(&&&tempName)) );
4 %let rdn=%sysfunc(normal(0));
5 %let rdn=%sysfunc(translate(&rdn,00,.-));
6 %let &tempname=T_&start.._%substr(&rdn,1,5).&ext;
7 %END;
8 %put &tempname=&&&tempname;
9%mend;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.