脚本主机不处理脚本命令行参数

时间:2016-08-02 18:31:15

标签: vbscript wsh

给定一个vbscript文件,我有3种方法可以从命令行运行它:

c:> cscript test.vbs
c:> wscript test.vbs
c:> test.vbs

WScript.Arguments.Unnamed.Count&当我指定要使用哪个脚本引擎(前2个)时,WScript.Arguments.Named.Count(传递给脚本的参数数量)总是正确的,但是当我没有(最后一个)时总是0。

最终目标是让一个脚本运行带参数的第二个脚本,但由于我没有指定脚本引擎(并且不希望),这意味着第二个脚本永远不会收到第一个脚本发送它的参数

(我不想指定脚本主机,因为这样做迫使我也指定了脚本的路径,这最终将被不同的人使用,他们不能信任总是放脚本在每台机器上的相同位置。所以我只想运行脚本并让操作系统根据文件扩展名选择可执行文件。

我的默认脚本主机设置为cscript,但是当使用最后一个方法运行脚本Wscript.FullName报告wscript.exe时,我根本就不明白...?

[编辑] 已更新,以便在不指定完整路径的情况下添加有关运行脚本的问题的说明。这对我不起作用,我不确定我是否期望它?

c:\test> type test.vbs
wscript.echo wscript.fullname

c:\test>cd\

c:\>set path=c:\test;%path%

c:\>cscript.exe test.vbs
Input Error: Can not find script file "test.vbs"

0 个答案:

没有答案