BookmarkSubscribeRSS Feed
eagles_dare13
Obsidian | Level 7

I tried this program to zip all xls files in a /home/ directroy to create a report.zip, but it did not recognize the wildcard. What is a good way to do this?

ods package(ProdOutput) open nopf;

ods package(ProdOutput)

    add file="/home/*.xls";

ods package(ProdOutput)

    publish archive       

       properties

      (archive_name= 

                  'report.zip'                 

       archive_path="/home/report/");

ods package(ProdOutput) close;

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

hi,

Do some sort of directory listing:

filename dirlist pipe "dir 'somewhere' /b";

data dirlist;

     length buffer $2000;

     infile dirlist;

     input buffer $;

run;

Next use that dataset to generate your code:

/* open package here */

data _null_;

     set dirlist;

     call execute('ods package(ProdOutput) add file="'||strip(buffer)||'";');

run;

/* close package here */

Note I am assuming of course that all files in the specified directory are to be included.

Chevell_sas
SAS Employee

You should be able to modify the sample below to look for the extension .XLS rather than the SAS data set.

http://support.sas.com/kb/45256

%if &ext=XLS  %then %do;

         %let cnt=%eval(&cnt+1);

         %let name&cnt=&fname..&ext;

%end;

http://support.sas.com/kb/45256

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore 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
  • 2670 views
  • 6 likes
  • 3 in conversation