Я пытаюсь изменить приведенный ниже макрос, чтобы принять параметр макроса в качестве аргумента «местоположение» для команды dir. Однако я не могу заставить его правильно решить из-за проблемы с вложенными кавычками. Использование %str(%') не работает, как и функции цитирования по какой-то причине.
Макрос будет работать нормально, если в пути к файлу нет пробелов (например, C:\temp\withnospace), так как средние кавычки не нужны. Однако мне нужно, чтобы этот макрос работал для путей к файлам с пробелами (например, 'C:\temp\с пробелом\').
Пожалуйста помоги!
%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 */