SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
kimdukes77
Obsidian | Level 7

Hi all

 

I have been using ODS Package to create zip files but now find myself needing to encrypt the files within.

 

I have used the code below successfully but only if adding one file - I can't get it to work when adding two.

 

data _null_ ;
zipexe = '"C:\Program Files (x86)\WinZip\WINZIP32.exe" -min -a -s';
pw="&pwdit";
zipfile="C:\test.zip";
file="C:\test 1.pdf";
cmd=zipexe || pw || ' ' || zipfile || ' ' || files ;
putlog "NOTE-Processing command " cmd ;
call system( cmd ) ;
run;

 

Can anyone help with adding multiple files?  The filenames will have spaces in them hence the need for double quotes.

 

Or if I create the zip file using ODS package, does anyone know if I can then use the winzip command line utility to open an existing zip file and apply the encryption?

 

Thanks in advance.

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Best solution: get rid of the ****ing blanks in filenames. Use underscores instead.

 

Next best solution:

file='"C:\test 1.pdf"';

(encapsulate double quotes with single quotes, so the double quotes end up in the data step variable)

If you need to process a list of files, either use wildcard characters or make sure that every single filename has the double quotes.

View solution in original post

1 REPLY 1
Kurt_Bremser
Super User

Best solution: get rid of the ****ing blanks in filenames. Use underscores instead.

 

Next best solution:

file='"C:\test 1.pdf"';

(encapsulate double quotes with single quotes, so the double quotes end up in the data step variable)

If you need to process a list of files, either use wildcard characters or make sure that every single filename has the double quotes.

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

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
  • 1 reply
  • 5455 views
  • 1 like
  • 2 in conversation