【问题标题】:How to print SAS program log to console when running in batch mode在批处理模式下运行时如何将 SAS 程序日志打印到控制台
【发布时间】:2017-10-23 14:16:55
【问题描述】:

我正在通过 Windows 命令提示符以批处理模式运行我的 SAS 程序。

开始 /WAIT "SAS_job" "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin D:\MySAS_Test.sas -nosplash -nologo -noicon

我可以显示 SAS 输出或登录命令提示符而不是写入文件吗?或者在 SAS 程序运行时打印日志以跟踪进度。

【问题讨论】:

  • 如果您将日志写入文件,有很多不错的文本编辑器会为您自动重新加载日志。为什么不想保存日志?
  • 它是自动化所必需的,我想在工作进行时查看日志。我们正在通过命令行运行 SAS 作业

标签: sas batch-processing


【解决方案1】:

我认为这在 Unix 中是可能的,但我对 Windows 不太确定。

您可以在 Unix 中写入 STDOUT,如 the documentation 中所述。但我在 Windows 中没有看到任何类似的东西。

最相似的是unnamed pipes,它可以让你与控制台进行交互——但目前还不清楚这是否对你有潜在的帮助。

不幸的是,我怀疑 SAS 通常不将 Windows 视为服务器类型的环境,并且主要支持它以允许桌面使用;虽然它确实支持 Windows 服务器,但大多数 SAS 服务器使用的是 Linux/Unix。

您最好的选择可能是转向另一个程序,该程序从已经生成的日志文件中读取并将其写入控制台,类似于 Unix 中的tail。或者如 cmets 中所述,在文本编辑器中打开日志(如果您启用了 option xcmd,您甚至可以从 SAS 中“推送”它)并让它定期自动刷新。

事实上,一个常见的用例是使用 UltraEdit 来编辑您的 SAS 程序;它甚至可以直接批量运行它们,然后在该程序中检索日志。

【讨论】:

  • 关于您的最后一点(在 UltraEdit 中运行 SAS)。是否有可用的插件,或者它是用户配置的东西?
  • @AllanBowe ultraedit.com/ultraedit-tour/sas-editor.html ...我自己不使用它,但我知道其他人会这样做。
  • 感谢您的建议,我更倾向于阅读日志然后将其写入控制台
猜你喜欢
  • 1970-01-01
  • 2016-04-04
  • 1970-01-01
  • 2012-09-21
  • 2010-10-22
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多