BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
eferencik
Fluorite | Level 6

I am trying to use SAS to copy an existing excel workbook (a template) and save it with a new name in a different folder (once updated with current data).  I have tried both steps below, but I cannot get either to work.  It seems like it should be simple to do, the only difference between the 2 workbooks would be the file name and location.

 

First tried:

options noxwait;

data _null_;

rc= system("copy S:\sas\Regular Reports\Vacancy Template.xlsx S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx");

 

put rc=;

run;

 

Then I tried:

options noxwait;

data _null_;

oldname="S:\sas\Regular Reports\Vacancy Template.xlsx";

newname="S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx";

rc= system(quote(catx(' ','copy',quote(trim(oldname)),quote(trim(newname)))));

put rc=;

run;

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

If you're using SAS 9.4 try FCOPY instead.

 


@eferencik wrote:

I am trying to use SAS to copy an existing excel workbook (a template) and save it with a new name in a different folder (once updated with current data).  I have tried both steps below, but I cannot get either to work.  It seems like it should be simple to do, the only difference between the 2 workbooks would be the file name and location.

 

First tried:

options noxwait;

data _null_;

rc= system("copy S:\sas\Regular Reports\Vacancy Template.xlsx S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx");

 

put rc=;

run;

 

Then I tried:

options noxwait;

data _null_;

oldname="S:\sas\Regular Reports\Vacancy Template.xlsx";

newname="S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx";

rc= system(quote(catx(' ','copy',quote(trim(oldname)),quote(trim(newname)))));

put rc=;

run;


 

View solution in original post

2 REPLIES 2
Reeza
Super User

If you're using SAS 9.4 try FCOPY instead.

 


@eferencik wrote:

I am trying to use SAS to copy an existing excel workbook (a template) and save it with a new name in a different folder (once updated with current data).  I have tried both steps below, but I cannot get either to work.  It seems like it should be simple to do, the only difference between the 2 workbooks would be the file name and location.

 

First tried:

options noxwait;

data _null_;

rc= system("copy S:\sas\Regular Reports\Vacancy Template.xlsx S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx");

 

put rc=;

run;

 

Then I tried:

options noxwait;

data _null_;

oldname="S:\sas\Regular Reports\Vacancy Template.xlsx";

newname="S:\oim\Regular Reports\Vacancy Report &sysdate..xlsx";

rc= system(quote(catx(' ','copy',quote(trim(oldname)),quote(trim(newname)))));

put rc=;

run;


 

eferencik
Fluorite | Level 6

Thank you.  I searched FCOPY, found this and it works.

 

filename src "path-to-src" recfm=n;
filename dst "path-to-dst" recfm=n;
%let rc = %sysfunc(FCOPY(src,dst));
%put %sysfunc(SYSMSG());

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 7473 views
  • 2 likes
  • 2 in conversation