33 %LOCAL dirfile encoding s l_i_path;
37 format changed datetime20.;
40 %IF &syserr NE 0 %THEN %GOTO errexit;
42 %LET encoding=wlatin1;
43 %LET dirfile=%sysfunc(pathname(work))/.dir.txt;
44 filename _dirfile
"&dirfile" encoding=&encoding;
46 %put &g_note.(SASUNIT): Directory search is: &i_path;
48 %let l_i_path=%qsysfunc(tranwrd(&i_path, %str( ), %str(\ )));
49 %IF &i_recursive=0 %then %let s=-maxdepth 1;
50 %SYSEXEC(find -P &l_i_path. &s. -type f -printf
"%nrstr(%h/%f\t%TD\t%TT\t\r\n)" > &dirfile. 2>/dev/null);
52 %
if &g_verbose. %then %
do;
53 %put ======== OS Command Start ========;
55 %
if &sysrc. = 0 %then %put &g_note.(SASUNIT): Sysrc : 0 -> SYSEXEC SUCCESSFUL;
56 %
else %put &g_error.(SASUNIT): Sysrc : &sysrc -> An Error occured;
59 %put &g_note.(SASUNIT): SYSEXEC COMMAND IS: find -P &l_i_path. &s. -type f -printf
"%nrstr(%h/%f\t%TD\t%TT\t\r\n)" > &dirfile. 2>/dev/null;
63 infile
"&dirfile" truncover lrecl=512;
67 %put ======== OS Command End ========;
70 data &o_out. (keep=membername filename changed);
71 length membername filename $255;
72 format changed datetime20.;
73 infile _dirfile delimiter=
'09'x truncover;
74 input filename $ d:mmddyy8. t:time8.;
75 changed = dhms (d, hour(t), minute(t), 0);
76 loca = length(filename) - length(scan(filename,-1,
'/')) + 1;
77 membername = substr(filename,loca);
80 proc sort data=&o_out.;