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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.