2017-10-11 72 views
0

我已经将一些已经编写的代码编写为 cscript // Nologo“%FILEPATH%\ GetSys.vbs”>%PCKANRI%\ sysinf.txt。将.bat文件的参数传递给VBScript

如何为此添加一个参数并传递到GetSys.vbs。我想通过%PCKANRI%的价值。

我试过 -

cscript //Nologo "%FILEPATH%\GetSys.vbs" >%PCKANRI%\sysinf.txt %PCKANRI% 

cscript //Nologo "%FILEPATH%\GetSys.vbs" %PCKANRI% >%PCKANRI%\sysinf.txt 

但是,这两个不工作。

GetSys.vbs

Dim arg1 
arg1 = args.Item(0) 
MsgBox arg1 

我得到空消息的NOx。

回答

1

必须初始化args和处理缺少参数:

type getsys.vbs 
Dim args : Set args = WScript.Arguments 
Dim arg1 
If 1 <= args.Count Then 
    arg1 = args(0) 
Else 
    arg1 = "No arguments!" 
End If 
WScript.Echo arg1 

cscript getsys.vbs 
No arguments! 

cscript getsys.vbs argument 
argument 

和:

把额外的参数后的文件规范(... >%PCKANRI%\sysinf.txt %PCKANRI%)是错误的

对不起,我的错。将论点放在最后'作品'上。证据:

cscript getsys.vbs argument > getsys.txt 

type getsys.txt 
argument 

cscript getsys.vbs > getsys.txt option 

type getsys.txt 
option 
+0

谢谢。有效! –