我一直在谷歌搜索一个小时,找不到最简单的东西。
我想从命令行调用SAS来编辑SAS程序。
如果我这样做:
C:\Program Files\SAS\SASFoundation\9.2(32-bit)\sas.exe mysasprogram.sas
它只是执行mysasprogram.sas。
帮助!
谢谢!
答案 0 :(得分:4)
创建文件:
E:\ sasedit.bat
set _pgm=%1
start "start" "C:\Program Files\SASHome\SASFoundation\9.3\sas.exe" -autoexec "E:\autoexec.sas"
E:\ autoexec.sas
%let _pgm=%sysget(_pgm);
dm "whost;include '&_pgm';";
运行命令:
E:\sasedit.bat E:\pathtomyfile\mysasprogram.sas
autoexec代码的语法: DM是显示管理器,WHOST命令正在调用SAS增强编辑器。
要将此与需要引号的路径一起使用,您必须在引号中提供路径并为autoexec代码添加一些引用处理。
运行一些初始命令的另一种方法是通过INITSTMT SAS命令行选项,但是我们会遇到大量引用的问题。
答案 1 :(得分:1)
通过我的注册表和更多谷歌搜索,我得到了这个解决方案,这似乎工作。但是,我还没有充分了解SAS.EXE和SASOACT.EXE之间的区别。
SASOACT.EXE action=Open datatype=SASFile filename="mysasprogram.sas"
答案 2 :(得分:0)
我在使vasja's answer工作时遇到了一些麻烦 - 对%sysget的调用无法检索变量。
我最终使用了一个文件(launchsas.cmd):
set fn=%1
set fn=%filename:"=%
set command="%%let filename='%fn%'; dm 'whost;include &filename.;';"
start "start" C:\path\to\sas.exe -initstmt %command%
请注意,创建"文件名"变量是为了避免嵌入引号的问题。
答案 3 :(得分:0)
请阅读SAS Institute Inc.的Sandy Gibbs,Michele Mosca和Donna Bennett。
原始要旨(对于Windows操作系统中的File Explorer)是命令
"C:\PROGRA~1\SASHome\SASFOU~1\9.3\core\sasexe\SASOACT.EXE"
action=Open datatype=SASFile filename="%1" progid=SAS.Application.903
需要与.sas
文件类型相关联。