As requested: /*set file locations from and to*/ %let statement_fm = &wr\XXXX\XXXX; %let statement_to = &wr\XXXX\XXXX\&MONTH; Data List_files (keep = filevar); rc=FILENAME('stmnts',"&file_fm"); did=DOPEN('stmnts'); memcnt=DNUM(did); *count number of members - including subfolders; DO i=1 TO memcnt; *for each member, test extension and store filename; filevar=(DREAD(did,i)); IF LOWCASE(SCAN(filevar,-1,".")) EQ LOWCASE("zip") THEN OUTPUT; END; rc=DCLOSE(did); rc=FILENAME('stmnts'); Run; proc sql; select filevar, count(*) into: file1-,: obs from work.list_files(where=(lowcase(filevar) like "%%&monthname.%")); quit; %macro copy_files; %do i=1 %to &obs.; %put &&file&i.; %sysexec move "&file_fm\&&file&i." "&file_to\&&file&i."; %end; %mend; %copy_files; %macro unzip_files; %do i=1 %to &obs.; %put &&file&i.; %sysexec wzunzip "&file_to\&&file&i." "&file_to\" -d; %end; %mend; %unzip_files;
... View more