DATA Step, Macro, Functions and more

Using Winzip command line utility to password protect zip

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 16
Accepted Solution

Using Winzip command line utility to password protect zip

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.


Accepted Solutions
Solution
‎03-07-2016 05:24 AM
Super User
Posts: 7,761

Re: Using Winzip command line utility to password protect zip

Posted in reply to kimdukes77

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Solution
‎03-07-2016 05:24 AM
Super User
Posts: 7,761

Re: Using Winzip command line utility to password protect zip

Posted in reply to kimdukes77

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 454 views
  • 1 like
  • 2 in conversation