Sto tentando di modificare la macro in basso per accettare un parametro macro come argomento "posizione" per un comando dir. Tuttavia non riesco a farlo risolvere correttamente a causa del problema delle virgolette nidificate. L'utilizzo di% str (% ') non funziona, né le funzioni di quotatura per qualche motivo.Utilizzo di SAS Macro per reindirizzare un elenco di nomi file da una directory di Windows
La macro funzionerà correttamente quando il filepath ha senza spazi (ad es. C: \ temp \ withnospace) poiché le virgolette intermedie non sono necessarie. Tuttavia ho bisogno di questa macro per lavorare su filepath con spazi (ad es. "C: \ temp \ con spazio \").
Si prega di aiuto!
%macro get_filenames(location)
filename pipedir pipe "dir &location. /b " lrecl=32767;
data filenames;
infile pipedir truncover;
input line $char1000.;
run;
%mend;
%get_filenames(C:\temp\) /* works */
%get_filenames('C:\temp\with space') /* doesnt work */
sebbene questo in realtà non risponda alla domanda, questo codice è di gran lunga superiore in quanto può essere utilizzato in tutti gli ambienti e soddisfa lo stesso scopo. grazie ... –