BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Junyong
Pyrite | Level 9

I want to use environment variables in X statement. For example,

x'%programfiles%\sashome\sasfoundation\9.4\sas.exe';

The problem is that quotes in X statements are optional. I originally put single quotes around the path as %PROGRAMFILES% contains one space—C:\Program Files. It seems SAS only reads the contents inside the single quotes and requires double quotes due to the space in %PROGRAMFILES%.

x'"%programfiles%\sashome\sasfoundation\9.4\sas.exe"';

But this doesn't work as well. How can I reconcile those quotes with X statements?

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Run these commands with the filename pipe method and see what response(s) you get.

 

Example:

filename oscmd pipe '"%programfiles%\sashome\sasfoundation\9.4\sas.exe" 2>&1';

data _null_;
infile oscmd;
input;
put _infile_;
run;

The SAS log will contain all responses.

View solution in original post

1 REPLY 1
Kurt_Bremser
Super User

Run these commands with the filename pipe method and see what response(s) you get.

 

Example:

filename oscmd pipe '"%programfiles%\sashome\sasfoundation\9.4\sas.exe" 2>&1';

data _null_;
infile oscmd;
input;
put _infile_;
run;

The SAS log will contain all responses.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 686 views
  • 0 likes
  • 2 in conversation