BookmarkSubscribeRSS Feed
max101
Calcite | Level 5

Hello,

 

I would like to unzip a file via

 

%let filename = file.bz2;

%let b = D:\rawdata\zipped\&filename;

filename pipedir pipe %sysfunc(quote(D:\7ZipStandalone\7za.exe e "&b" -y -so));

 

Data mydat;

Infile pipedir;

file "D:\rawdata\zipped\unzippedfile.log";

input;

put _infile_;

run;

 

This works so far. A problem arises, if the folder name contains white space.

 

So if the path changes to "D:\7Zip Standalone\7za.exe" the code no longer works.

 

I tried using the quote, unquote and str functions (also macro versions '%') so far without success.

 

Thanks for helping!

2 REPLIES 2
Jagadishkatam
Amethyst | Level 16
could you please try to specify a single quote inside the double quotes of the file path, something like below

" 'D:\7Zip Standalone\7za.exe' "
Thanks,
Jag
KevinViel
Pyrite | Level 9

This caused issues for me.  I had IT create a environmental variable (with no spaces).  A colleague suggested that I use PROGRA~1 instead of writing the full path: https://communities.sas.com/t5/SAS-Programming/Windows-and-pipe-with-spaces-in-the-path-file-name/m-....

 

HTH,

 

Kevin

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
  • 3016 views
  • 0 likes
  • 3 in conversation