运行带参数的外部程序时遇到问题

时间:2013-10-30 02:05:24

标签: asp.net path process.start

我的项目确实有最后一个问题,我看不清楚应该找出这里到底出了什么问题。

当我用这个运行我的代码时,一切都很完美:

    Dim p As Process = New Process()
    With p.StartInfo
        .WorkingDirectory = Environment.GetEnvironmentVariable("ProgramFiles") & "\rest_of_my_path\"
        .FileName = "ping"
        .Arguments = "192.168.0.24"
        .CreateNoWindow = True
        .UseShellExecute = False
        .RedirectStandardOutput = True
        .RedirectStandardError = True
    End With
    p.Start()

然而,当我运行它时,它会在运行时遇到错误并在p.start()上崩溃

Dim p As Process = New Process()
With p.StartInfo
    .WorkingDirectory = Environment.GetEnvironmentVariable("ProgramFiles") & "\rest_of_my_path\"
    .FileName = "myextprogram.exe"
    .Arguments = "-n Unnamed -f file.abc"
    .CreateNoWindow = True
    .UseShellExecute = False
    .RedirectStandardOutput = True
    .RedirectStandardError = True
End With
p.Start()

我尝试添加空格,引号,只是命名它但总是得到一个调用目标抛出异常。 我相信它正在抱怨这条道路。

我几乎可以肯定这很简单,但我不能把手指放在上面。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好的,找到了修复......如果有人有兴趣......

而不是

.FileName = "myextprogram.exe"
.Arguments = "-n Unnamed -f file.abc"

我现在有

.FileName = "cmd"
.Arguments = "myextprogram.exe -n Unnamed -f file.abc"

现在一切正常。