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

时间:2016-10-11 13:05:05

标签: sas copy

在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";

EDIT
我也试过猫:

x cats("copy \\aaa\",'"b c d"',"\eee.pdf \\fff\ggg.pdf");

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

加倍报价!

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

答案 2 :(得分:1)

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

x %sysfunc(quote(copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf"));