%macro readdir(indir=, outdsn=);
data &outdsn (keep=name infoname infoval);
rc=filename("mydir", "&indir");
did=dopen("mydir");
if did > 0 then do;
memcnt = dnum(did);
do i=1 to memcnt;
name = dread(did, i);
rc = filename("myfile", catx("/", "&indir", name));
fid = fopen("myfile");
if fid > 0 then do;
infonum=foptnum(fid);
do j=1 to infonum;
infoname=foptname(fid, j);
infoval=finfo(fid, infoname);
output;
end;
end;
else do;
msg = sysmsg();
put msg;
end;
rc = fclose(fid);
end;
end;
else do;
msg=sysmsg();
put msg;
end;
rc = dclose(did);
rc = filename("mydir");
run;
%mend;
%readdir(indir=C:\test, outdsn=out)
Tuesday, August 18, 2015
Listing all files that are located in a specific directory (update)
I prefer the codes independent on OS. It may save a lot of time to maintain. Based on SAS Note 25074, I have created the codes at below:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment