不作为目录路径使用的sas unzip on x命令具有嵌入空格

不作为目录路径使用的sas unzip on x命令具有嵌入空格,sas,Sas,我遇到过这样一种情况:我使用sas x命令解压一个文件夹,并仅从同一文件夹中选择.sas文件,下面的代码工作正常,因为目录路径中没有嵌入空格 x“cd&egp\U位置”;-->当前目录--&egp_位置解析为没有嵌入空格的文件夹路径 x“解压&egp_名称*.sas”;-->使用当前目录中的&egp_name解析需要解压缩的文件名 如果存在嵌入的空格,则上述代码行不起作用 请帮忙 谢谢试试: x cd %STR(%")&egp_location%STR(%"); x unzip %STR

我遇到过这样一种情况:我使用sas x命令解压一个文件夹,并仅从同一文件夹中选择.sas文件,下面的代码工作正常,因为目录路径中没有嵌入空格

x“cd&egp\U位置”;-->当前目录--&egp_位置解析为没有嵌入空格的文件夹路径

x“解压&egp_名称*.sas”;-->使用当前目录中的&egp_name解析需要解压缩的文件名

如果存在嵌入的空格,则上述代码行不起作用

请帮忙

谢谢

试试:

x cd %STR(%")&egp_location%STR(%");
x unzip %STR(%")&egp_name%STR(%") *.sas;
我不确定解压命令的语法,但%STR位将在宏变量周围添加引号

此外,在SAS中使用X语句时,整个命令不需要双引号。

您可以执行以下操作:

x "unzip ""&egp_name"" *.sas " ;
双引号解析为单个双引号字符

这假设解压语句在其他方面是有效的-如果您运行

options mprint symbolgen;

您将在日志中获得完整的解压语句—将其复制/粘贴到控制台,然后查看它是否有效。如果没有,请调试。

谢谢您的回复。尝试使用上述代码,但&egp_位置已解决两次。例如,如果egp_location=\fjdkfjdkj\fdkfjdkfjdkfjd\fjdkfjdkfjdkfjdkj fdjfkdj.egp,它将被解析为..'“\fjdkfjdkj\fdkfjdkfjd\fjdkfjdkfjd Kfjdjd Kfjdjd Kfjdkj fdjfkdj.egp””导致错误,该目录不可用。我发布的代码不应两次解析&egp_位置。此宏变量的确切值是多少?以下是日志消息-SYMBOLGEN:宏变量EGP_LOCATION解析为/abc/defg/hi/dev/userid/sas_mig/sas_hhh/abc defgh cysd-x waves-fdfdfdfd ererere reresdf met email v2/错误:“/abc/defg/hi/dev/userid/sas_-mig/sas_-hhh/abc-defgh-cysd-x waves-fdfdfdfdfd-ererere-reresdf-met-email v2/”/abc/defg/hi/dev/userid/sas_-mig/sas_-hhh-x waves-fdfdfdfdfdfd-erererereresdf-met-email v2/”:没有这样的目录。我只是想澄清一下。。对于从宏变量&egp_位置解析的文本,与配置文件夹相关的路径在本例中以“/fjdkfjd/GSR/bin1/SASConfigFolder/Lev2/SASAGUQ”为前缀,整个路径也以单引号关闭。对不起,有什么困惑。