- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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());