如何在SAS x“复制...”中使用带空格的文件夹?

问题描述 投票:0回答:3

在 SAS 中,我需要将文件从一个位置复制到另一个位置,但该文件位于带有空格的文件夹中,这会带来问题。

这就是我想做的:

x "copy \\aaa\b c d\eee.pdf \\fff\ggg.pdf";

因为 b c 和 d 之间有空格,所以不起作用。

我知道我能行

x 'copy \\aaa\"b c d"\eee.pdf \\fff\ggg.pdf';

但是我的文件名将使用宏变量,因此我需要在复制语句两边加上双引号。

有没有办法在复制语句中转义双引号?例如这样的东西(除了 % 不起作用)

x "copy \\aaa\%"b c d%"\eee.pdf \\fff\ggg.pdf";

编辑
我也尝试过猫:

x cats("copy \\aaa\",'"b c d"',"\eee.pdf \\fff\ggg.pdf");
sas copy
3个回答
3
投票

x
替换为
%sysexec
,您将不需要引号。

%sysexec copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf";

2
投票

双倍报价!

x "copy ""\\aaa\b c d\eee.pdf"" \\fff\ggg.pdf";

1
投票

使用

QUOTE()
功能。它会正确地将您尝试引用的字符串中的内部引号加倍。

x %sysfunc(quote(copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf"));
© www.soinside.com 2019 - 2024. All rights reserved.