#sas #copy
#sas #Копировать
Вопрос:
В sas мне нужно скопировать файл из одного места в другое, но этот файл находится в папке с пробелами, что создает проблемы.
Вот что я хочу сделать:
x "copy \aaab c deee.pdf \fffggg.pdf";
из-за пробелов между b c и d это не работает.
Я знаю, что могу сделать
x 'copy \aaa"b c d"eee.pdf \fffggg.pdf';
Но имя моих файлов будет использовать макропеременные, поэтому мне нужны двойные кавычки вокруг инструкции copy.
Есть ли способ избежать двойных кавычек в инструкции copy? например, что-то вроде этого (за исключением%, которые не работают)
x "copy \aaa%"b c d%"eee.pdf \fffggg.pdf";
Редактировать
Я также пробовал cats:
x cats("copy \aaa",'"b c d"',"eee.pdf \fffggg.pdf");
Комментарии:
1. несколько отличных ответов в этой теме!
Ответ №1:
Замените x
на %sysexec
, и вам не понадобятся кавычки.
%sysexec copy "\aaab c deee.pdf" "\fffggg.pdf";
Ответ №2:
Удвойте свои кавычки!
x "copy ""\aaab c deee.pdf"" \fffggg.pdf";
Ответ №3:
Используйте QUOTE()
функцию. Это правильно удвоит внутренние кавычки в строке, которую вы пытаетесь заключить в кавычки.
x %sysfunc(quote(copy "\aaab c deee.pdf" "\fffggg.pdf"));