Hi, I am new SAS user. I am using SAS online demand version. I would like list all files from folder/subfolder. I tried below code but am neither am getting output nor error. Could you please help me
data yfiles;
keep filename;
length fref $8 filename $80;
rc = filename(fref, 'path of folder/subfolder');
if rc = 0 then
do;
did = dopen(fref);
rc = filename(fref);
end;
else
do;
length msg $200.;
msg = sysmsg();
put msg=;
did = .;
end;
if did <= 0
then
putlog 'ERR' 'OR: Unable to open directory.';
dnum = dnum(did);
do i = 1 to dnum;
filename = dread(did, i);
/* If this entry is a file, then output. */
fid = mopen(did, filename);
if fid > 0
then
output;
end;
rc = dclose(did);
run;
proc print data=yfiles;
run;
At the end of path I didn't give the "/" previously. That's why i didn't get the output. Now am getting output. Thank you.
I tried your code in SAS OnDemand for Academics and it outputs a file list.
Are you specifying the directory path correctly?
rc = filename(fref, '/home/myusername/');/* specify "path of folder/subfolder" */
It is strange that you get no results at all, so please paste the log after submitting.
At the end of path I didn't give the "/" previously. That's why i didn't get the output. Now am getting output. Thank you.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.