Всем привет!
Данная небольшая статья о работе с командной строкой (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 путь по умолчанию \SAS\config\Lev1\SASApp для среды 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, то вам сюда.
На этом всё и до скорых встреч!