执行 Analytics 外部的应用程序或进程。 模拟 Windows Run 命令。 可以用来与 Windows 命令提示窗口交互。

说明

因为 EXECUTE 命令使您能够与 Analytics 外部的操作系统和应用程序交互,所以可能出现超越 Analytics 固有功能范围的技术问题。

“支持”可以提供 Analytics 内部的 EXECUTE 命令操作方面的帮助,但 Analytics 外部进程和应用程序所出现的问题不在“支持”的范围之内。

EXECUTE Windows Run 命令语法 <ASYNC>
名称 描述
Windows Run 命令语法

要执行的应用程序的名称、要打开的文件夹或文件或要运行的命令,后面跟任何必需的参数或命令开关。

需要被放在引号中的有效的 Windows 运行命令语法。

ASYNC

可选

以异步模式运行命令。

在异步模式下,Analytics 脚本会继续运行,而不会等待由 EXECUTE 命令启动的流程完成。

如果您省略 ASYNC,则在 Analytics 脚本继续运行之前,由 EXECUTE 命令启动的流程必须完成。 在外部流程运行过程中,Analytics 不可访问。

说明

在从 Analytics 命令行运行 EXECUTE 时,必须指定 ASYNC。

名称 包含
RETURN_CODE

使用 EXECUTE 命令运行的外部应用程序或进程所返回的代码。

什么是返回码?

返回码是由外部应用程序或进程生成并发送回 Analytics 以指示外部进程结果的数字。 Analytics 不生成返回码,而只是接收它。

典型返回码

典型的返回代码是与特定通知或错误消息对应的整型值。 例如,返回码“0”可能意味着“操作已成功完成”。 返回码“2”可能意味着“系统找不到指定的文件”。

特定返回码的含义

具体返回码及其含义随外部应用程序或进程的不同而异。 返回代码的列表(也称为“错误码”或“退出码”)以及它们的含义通常可在相关外部应用程序的文档中找到。 返回代码的列表也可在互联网找到。

仅在默认模式下创建的变量

RETURN_CODE 变量是在默认模式下运行 EXECUTE 命令时创建的。 在异步模式下运行该命令时不会创建该变量。

打开应用程序

打开 Microsoft Excel:

EXECUTE "Excel"

打开 Adobe Acrobat Reader:

EXECUTE "AcroRd32.exe"

关闭应用程序

关闭 Microsoft Excel:

EXECUTE "TASKKILL /f /im Excel.exe"

说明

请谨慎使用 /f 开关。 它强迫应用程序关闭,并且不显示任何对话框,如用于保存更改的对话框。

打开文件

打开 Excel 工作簿 AP_Trans.xlsx

EXECUTE '"C:\ACL 项目\源数据\应付账款_交易.xlsx"'

创建新文件夹

创建一个名为源数据的新文件夹:

EXECUTE 'cmd /c MD "C:\ACL 项目\源数据"'

运行外部脚本或非 Analytics 批处理文件 (.bat)

运行脚本 My_Batch.bat

EXECUTE '"C:\ACL 项目\批处理文件\我的批处理.bat"'

将参数传递给非 Analytics 批处理文件

将两个参数传递给 My_Batch.bat。 参数可以是字面量或 Analytics 变量:

EXECUTE '"C:\ACL Projects\Batch Files\My_Batch.bat" param1%v_param2%'

在其他 Analytics 项目中运行 Analytics 脚本

运行 AP Trans Tests.acl" 中的 "AP_Trans_script"

EXECUTE 'aclwin.exe "C:\ACL 项目\应付账款交易测试.acl" /b 应付账款交易脚本'

说明

在其他项目中运行 Analytics 脚本会启动第二个 Analytics 实例。 第二个项目中的脚本应该以 QUIT 命令结尾,以便第二个 Analytics 实例关闭并将控制返回给初始 Analytics 实例。

在 Analytics 脚本中包含等待期

这两个示例都创建 30 秒的等待期:

EXECUTE "TIMEOUT /t 30"
EXECUTE "cmd /c PING -n 31 127.0.0.1 > nul"

使用 EXECUTE 执行有用的任务

EXECUTE 命令使您可以从 Analytics 命令行或从 Analytics 脚本运行 Windows 和 DOS 命令。

使用此能力来执行无法通过单独使用 ACLScript 语法执行的各种有用任务,可提高 Analytics 脚本的自动化程度。

可使用 EXECUTE 启动的任务示例

打开其他程序和应用程序,并执行 Analytics 脚本所需的任务 将参数传递给批处理文件 从网络位置访问数据 合并 Active Directory 帐户列表
在其默认应用程序中打开任何文件 在其他 Analytics 项目中运行 Analytics 脚本 使用 FTP 从远程位置访问数据 与 VBScript 集成
执行文件和文件夹管理任务,例如,复制、移动、创建、删除或比较存在于 Analytics 外部的文件或文件夹 在 Analytics 脚本中包含等待期。 压缩或解压缩数据 与 SQL 数据库集成
运行外部脚本或非 Analytics 批处理文件 (.bat) 在 Analytics 脚本中包含 Windows 任务计划 加密或解密数据 打开 Web 页面

说明

有关如何执行其中任一任务的具体细节超出了 Galvanize 帮助文档的范围。 要获得帮助,请参考适当的 Windows 操作系统文档或其他第三方文档。

默认模式和异步模式

您可以在默认模式或异步模式下运行 EXECUTE 命令:

  • 默认模式 EXECUTE 所启动的进程必须首先完成,然后 Analytics 脚本才可以继续。

    Analytics 在外部进程运行过程中,ACL 不可访问。

  • 异步模式Analytics 脚本会继续运行,而不会等待由 EXECUTE 启动的进程完成。

    Analytics 在外部进程运行过程中,ACL 继续可访问。

    如果您指定 ASYNC,则 EXECUTE 命令在异步模式下运行。

我应该使用哪种模式?

当您创建使用 EXECUTE 命令的 Analytics 脚本时,您需要考虑哪个操作模式是适当的。

使用默认模式 使用异步模式/ASYNC
  • 文件和文件夹管理任务
  • 指定等待期
  • 后续任务依赖的任何任务
  • 后续脚本执行依赖于 RETURN_CODE 变量中的结果
  • 外部任务导致应用程序界面或弹出对话框打开

以无人看管方式运行的 Analytics 脚本

如果您希望包含 EXECUTE 命令的 Analytics 脚本以无人看管方式运行,请使用下列方法之一:

  • 对任何导致应用程序界面或弹出对话框打开的任务,使用异步模式
  • 避免在无人看管的脚本中打开界面元素

说明

界面元素在被关闭之前,代表仍在运行的流程。 如果这些界面元素被在默认模式下用 EXECUTE 打开,则它们会禁止 Analytics 脚本中的后续行执行,并且导致该脚本挂起。

解析脚本中的 EXECUTE 命令

如果您想要在机器人应用程序中或 AX 服务器上的解析脚本中使用 EXECUTE 命令,则必须具体配置要运行的命令。 有关详细信息,请参见:

引号

您与 EXECUTE 命令一起使用的 Windows Run 命令语法必须放在单引号或双引号中。

以下示例使用 Windows MD 命令创建新的文件夹:

EXECUTE 'cmd /c md C:\新数据文件夹'

嵌套引号

如果 Run 命令语法中的任何路径包含空格,则这些路径必须放在引号中。

在将路径放在引号中时,您具有两个选项:

  • 单引号内的双引号使用单引号环绕整个运行命令字符串,并且在内部使用双引号环绕路径:
    EXECUTE 'cmd /c md "C:\New Data Folder"'

    您可能发现此方法的可读性比第二个方法高。

    说明

    颠倒嵌套顺序 – 使用双引号将整个字符串围起来,并且使用单引号将路径围起来 – 这是无效的。

  • 两个双引号使用双引号环绕整个运行命令字符串,并且在内部使用两个双引号环绕路径::
    EXECUTE "cmd /c md ""C:\New Data Folder"""

    如果您使用此第二个方法,则在内部使用的两个双引号必须是相邻的,两者之间不能有空格

内部和外部命令

Windows 命令可以是内部的,也可以是外部的

  • 内部命令只能从命令提示窗口运行,这意味着在指定该命令之前,必须使用 cmd /ccmd /k 打开命令 shell。
  • 外部命令既可以从命令提示窗口运行,也可以使用 EXECUTE 命令直接运行,这意味着打开命令 shell 是一个选择,但不是必须的。

以下示例使用内部 Windows DIR 命令(显示目录内容)和外部 Windows COMP 命令(比较两个文件)来说明两者的区别:

EXECUTE 'cmd /k dir "C:\ACL DATA\Sample Data Files"' 
EXECUTE 'comp C:\文件1.txt C:\文件2.txt'

您可以创建外部脚本或批处理文件以包含 Windows 命令,并且仅在启动批处理文件时才使用 EXECUTE 命令,从而避免这一复杂性。 例如:

EXECUTE 'C:\我的批处理.bat'

多行 Run 命令语法

EXECUTE 命令不支持多行 Run 命令语法。 要将多行 Run 命令包含在 Analytics 脚本中,请使用下列方法之一:

方法 示例
对于每个 Run 命令,重复执行 EXECUTE 命令。
EXECUTE 'cmd /c md "C:\新数据文件夹"' EXECUTE 'cmd /c copy C:\File_1.txt "C:\新数据文件夹"'
使用“&”组合运行命令。
EXECUTE 'cmd /c md "C:\新数据文件夹" & copy C:\文件1.txt "C:\新数据文件夹"'
创建外部脚本或批处理文件以包含多行运行命令,并且仅在启动批处理文件时使用 EXECUTE 命令。
EXECUTE 'C:\我的批处理.bat'