Я хочу перечислить все имена папок в каталоге. Например, в sas / data / есть 10 папок, а не CSV или TXT, просто папка, и я хочу перечислить все имена папок в коде или наборе данных. Есть ли способ сделать это?
В настоящее время у меня есть скрипт, который может распечатать все имя файла, но не имя папки. Сценарий выглядит следующим образом:
%macro list_files(dir,ext); %local filrf rc did memcnt name i;
%let rc=%sysfunc(filename(filrf,&dir)); %let
did=%sysfunc(dopen(&filrf));
%if &did eq 0 %then %do;
%put Directory &dir cannot be open or does not exist;
%return; %end;
%do i = 1 %to %sysfunc(dnum(&did));
%let name=%qsysfunc(dread(&did,&i));
/* %if %qupcase(%qscan(&name,-1,.)) = %upcase(&ext) %then %do;*/
%if %qscan(&name,2,.) ne %then %do;
%put &dir\&name;
data _tmp;
length dir $512 name $100;
dir=symget("dir");
name=symget("name");
run;
proc append base=want data=_tmp;
run;quit;
%end;
%else %if %qscan(&name,2,.) = %then %do;
%list_files(&dir\&name,&ext)
%end;
%end; %let rc=%sysfunc(dclose(&did)); %let
rc=%sysfunc(filename(filrf));
%mend list_files; %list_files(/sasdata/data/,*)
Как мне настроить его, чтобы распечатать все имена папок?