Имейте в виду, что время выполнения оператора X
такое же, как и у других глобальных операторов (заголовок, сноска, параметры и т. Д.). Если он помещен в шаг DATA, оператор X
будет выполнен до выполнения шага данных.
Например, предположим, что текущим рабочим каталогом является c:\temp
. Следующее записывает HelloWorld.txt
в c:\temp2
вместо c:\temp
. Во время компиляции SAS запускает оператор X
и , затем выполняет шаг данных. Обратите внимание, что в SAS точка (.
) является ссылкой на текущий рабочий каталог.
data _null_;
file '.\HelloWorld.txt';
put 'Hello, world!';
x 'cd C:\temp2';
run;
Чтобы изменить каталоги после того, как шаг данных был выполнен, вы можете использовать CALL SYSTEM
. Операторы CALL выполняются условно, вызываясь после шага данных.
data _null_;
file '.\HelloWorld.txt';
put 'Hello, world!';
command = 'cd "C:\temp2"';
call system(command);
run;
Более подробную информацию об этих видах деталей для систем Windows можно найти в Запущенных командах Windows или MS-DOS из SAS