%macro dirlist(dir=, dout=dirlist, ext=sas); filename init pipe "dir &dir."; data &dout; length date $ 200 time $ 20 ampm $ 20 size $ 20 fname $ 100; infile init truncover; input date time ampm$ size fname$; run; %if &ext ne %then %do; data &dout; set &dout; if scan(fname, 2, ".")="&ext"; if date ne '' then adt=input(date, mmddyy10.); if time ne '' then do; if ampm='PM' then atm=input(time, time5.)+(12*60*60); else atm=input(time, time5.); end; adtm=dhms(adt, 0,0,atm); format adt date9. atm time5. adtm datetime20.; run; %end; %mend dirlist; *%dirlist(dir=C:\Users\xxx\desktop);