上一主题: run-client 命令-在远程 Windows 系统上运行 Autoshell 客户端 (Funclet)下一主题: run-remote 命令-在远程系统上执行脚本 (Funclet)


run-local 命令-在本地系统上执行脚本 (Funclet)

run-local funclet 执行包含在当前 AutoShell 会话中本地计算机上的字符串或磁盘文件中的 JavaScript 代码并返回结果。 直接执行不包含在包围函数声明内的代码。 函数声明已处理,以便函数可供以后执行,但不进行调用。 尽管通过简单地输入 JavaScript 文件的路径名就可以从交互式命令提示符执行该文件,但 run-local 是从脚本文件执行外部脚本的唯一方法,也是从交互式命令提示符调用脚本文件时将参数传递到该脚本文件的唯一方法。

命令的语法如下:

run-local [script] [-file file] [-with args,...]

返回值取决于指定的脚本。

script

(可选)指定包含要执行的 JavaScript 代码的字符串。 此 funclet 从字符串或文件执行脚本。 因此,scriptfile 参数是互不相容的。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认:""

-file file

(可选)指定要执行的脚本文件的绝对路径或相对路径。 此 funclet 从字符串或文件执行脚本。 因此,scriptfile 参数是互不相容的。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认:""

-with args,...

指定要传递到脚本的实际参数的逗号分隔列表。 脚本代码可以使用标准的 JavaScript 参数数组访问这些参数。

示例

评估简单表达式:

run-local 1+2

评估从内存传递参数的表达式:

run-local "arguments[0]*arguments[0]" -with 2

编写脚本文件并执行该脚本文件:

s = "var i;"
s +="for(i=0;i<arguments.length;i++)"
s +="qout(arguments[i]);"
s +="true;"
memoWrit("script.js", s);
run-local -file script.js -with 1, "abc", new Date()

注意:仅当脚本代码不包含在函数定义中时,才能直接执行脚本代码。 脚本不使用返回语句返回结果(在这种情况下,值为 true),而是通过在最后执行的表达式中指定结果。

另请参阅:

run-remote 命令-在远程系统上执行脚本 (Funclet)