启动.exe文件并在SAS中自动"press enter for "保存""

Start .exe file and automatically "press enter for "Save"" in SAS

我有一个 SAS 程序,我想安排它,所以我们不必手动 运行 它。

在程序中我们调用一个可执行文件(reg.exe),像这样:

X CALL "K:\reg.exe"; 

可执行文件会打开一个标准的 windows 保存对话框,我们需要做的就是按保存,这将保存一个 xml 文件。保存对话框已在正确的目录中打开。

我想要的是以某种方式使用代码将指令传递给 "press save",这样程序就可以继续使用保存的 xml 文件。

这有可能吗?

感谢您的帮助!

托马斯:

有许多 Windows 实用程序可用于交互式程序的脚本控制。例如:AutoIt(我的最爱)、MouseRobot 和 AutoHotKey 等等。

声明

options xmin noxwait noxsync;

会导致外部程序运行,不等待命令会话退出,不等待命令完成。

如果您的 SAS 程序需要等待 reg.exe 的脚本使用的副作用在发生之前发生,请使用:

options xmin noxwait xsync;

这些设置会影响其他操作系统接口功能,例如:

  • X 命令
  • CALL SYSTEM例程
  • %SYSEXEC 语句

使用您的 reg.exe 可能需要您的登录具有管理员权限。

SYSTASK语句也可以运行外部命令。

如果您发现无法运行外部命令,可能是因为系统设置NOXCMD处于激活状态。此设置在 SAS 服务器环境中默认启用。