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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.