Всем привет!
Данная небольшая статья о работе с командной строкой (COMMAND PROMPT) в SAS и запуском внешних программ.
Работа с prompt осуществленная несколькими способами. В качестве примера используется команда копированияпереименование файла:
1. Через синтаксис X:
x ‘copy input.txt input_x.txt’;
2. Через макро вызов:
%sysexec(copy input.txt input_sysexec.txt);
3. Через синтаксис в DATA STEP:
data _null_;
call system(‘copy input.txt input_system.txt’);
run;
Также есть возможность синтаксиса через вызов SYSTASK, но я никогда им не пользовался. На мой взгляд, этот способ является расширенным, по сравнению с первыми 3. Возможно, в будущих статьях будет затронут этот метод.
В SAS путь по умолчанию SASconfigLev1SASApp для среды Windows. Для того чтобы изменить этот путь можно выполнить команду CD. Правда в случае с %sysexec команда отработана не будет. Пример синтаксиса:
data _null_;
call system(‘cd c:’);
run;
или
x ‘cd c:’;
Запуск команд может быть двух типов: синхронный и асинхронный.
- В первом случае запущенная команда должна быть завершена до начала следующей задачи. Синтаксис: options XSYNC
- Во втором случае команда выполняется независимо от других задач, которые в настоящее время работают. Синтаксис: options NOXSYNC. Данная опция может быть полезна, если требуется запустить какой-то сторонний процесс и продолжить работу. Например, запустить Microsoft Excel.
Существует опция, которая также заставляет пользователя напечатать EXIT, чтобы вернуться к своей текущей сессии SAS в случае запуска команды. Синтаксис: options XWAIT / NOXWAIT.
В случае если возникла ошибка с запуском CMD команд в SAS Enterprise Guide, то вам сюда.
На этом всё и до скорых встреч!