Использование макроса SAS для передачи списка имен файлов из каталога Windows
Я пытаюсь изменить макрос ниже, чтобы принять параметр макроса в качестве аргумента 'location' для команды dir. Однако я не могу заставить его решить правильно из-за проблемы вложенных кавычек. Использование% str (% ') не работает, равно как и функции цитирования по некоторым причинам.
Макрос будет работать нормально, если путь к файлунет пробелов (например, C: \ temp \ withnospace), поскольку средние кавычки не нужны. Однако мне нужен этот макрос для работы с filepathс пробелами (например, 'C: \ temp \ with space \').
Пожалуйста помоги!
%macro get_filenames(location)
filename pipedir pipe "dir &location. /b " lrecl=32767;
data filenames;
infile pipedir truncover;
input line $char1000.;
run;
%mend;
%get_filenames(C:\temp\) /* works */
%get_filenames('C:\temp\with space') /* doesnt work */