在 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");
将
x
替换为 %sysexec
,您将不需要引号。
%sysexec copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf";
双倍报价!
x "copy ""\\aaa\b c d\eee.pdf"" \\fff\ggg.pdf";
使用
QUOTE()
功能。它会正确地将您尝试引用的字符串中的内部引号加倍。
x %sysfunc(quote(copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf"));