Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从VB.Net启动vbs脚本并将参数传递给启动的VB脚本_Vb.net_String_Process_Arguments_Wsh - Fatal编程技术网

如何从VB.Net启动vbs脚本并将参数传递给启动的VB脚本

如何从VB.Net启动vbs脚本并将参数传递给启动的VB脚本,vb.net,string,process,arguments,wsh,Vb.net,String,Process,Arguments,Wsh,我需要从visual basic应用程序执行类似“cscript OSPP.vbs/dstatus”的命令。我正在使用下面的代码,但无法将参数“dstatus”传输到OSPP.vbs。我怎么能这么做?有什么帮助吗 Dim start As New ProcessStartInfo Dim task As New Process Dim so As IO.StreamReader start.FileName = "C:\WINDOWS\system32\cscr

我需要从visual basic应用程序执行类似“cscript OSPP.vbs/dstatus”的命令。我正在使用下面的代码,但无法将参数“dstatus”传输到OSPP.vbs。我怎么能这么做?有什么帮助吗

    Dim start As New ProcessStartInfo
    Dim task As New Process
    Dim so As IO.StreamReader

    start.FileName = "C:\WINDOWS\system32\cscript.exe"
    start.Arguments = """C:\Program Files (x86)\Microsoft Office\Office15\OSPP.vbs /dstatus"""

    start.UseShellExecute = False
    start.RedirectStandardOutput = True
    start.RedirectStandardError = False        

    task.StartInfo = start
    task.Start()
    so = task.StandardOutput
    task.WaitForExit()
    MsgBox(so.ReadToEnd)

您的参数格式不正确,因为路径有空格,您需要将其括在双引号之间

试试这个:

Dim args as string =
     String.Format("""{0}"" ""{1}""", 
                   "C:\Program Files (x86)\Microsoft Office\Office15\OSPP.vbs", 
                   "/dstatus") 

start.FileName = "C:\WINDOWS\system32\cscript.exe"
start.Arguments = args