I am attempting to copy files over to a different folder and am using the sysexec fuction. The issue that I am running into is my file paths is UNC so SAS keeps opening the CMD window and I have to manually exit for each file. Since there are 3500 files to transfer this isn't really a good option. Any suggestions to get SAS to exit for me? I could transfer the files over to my C: drive but I would put that as the last option.
%let source=\\global\kcshares\Projects\110933\Police Reports\All Reports;
%let target=\\global\kcshares\Projects\110933\Police Reports\Curve Reports;
proc sql noprint;
select report
into :report separated by ' '
from crashes;
quit;
%put &report;
%macro report;
%do i=1 %to 5; *%sysfunc(countw(&report," "));
%let report_no=%scan(&report,&i," ");
%sysexec copy "&source.\&report_no..pdf" "&target.\&report_no..pdf";
%end;
%mend;
%report;
I found the solution I needed to use:
options NOXWAIT;
If you were copying all of the files with common name you can use wildcards such as
copy "&source.\rep*.pdf" would copy all files that start with the letters 'rep'. Or if you needed all of the PDF files then *.pdf
So you may not have needed to copy them one by one.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.