Process.Start 参数无效

Process.Start arguments not working

我正在尝试使用两个参数启动一个进程,这两个参数将 运行 从 cmd 提示符 window 就好了。当我尝试通过 process.start.

启动它时出现问题

在命令window中,它看起来像这样。

D:\Projects\MyProg.exe "D:\Projects\MyScript.txt" "D:\Projects\MyInputData.txt"

当我尝试在 .NET 中构建参数时,它会在整个字符串周围加上双引号,它看起来像这样。该程序不会将其解释为两个参数而只是停止。如果我在每个参数周围添加双引号,它仍然会误解它。

我知道这是 MyProg.exe 问题(我无法更改的供应商程序)但是有没有办法发送此命令以便它起作用?

myProcess.StartInfo.Arguments = "D:\Projects\MyScript.txt D:\Projects\MyInputData.txt"

当我添加双引号时它有点工作,程序启动但随后出现问题并停止。

myProcess.StartInfo.Arguments = """D:\Projects\MyScript.txt"" ""D:\Projects\MyInputData.txt"""

我不太确定 D:\Projects\MyProg.exe 在做什么,但下面的示例正在工作。声明了两个变量字符串。这两个字符串表示我想与可执行文件一起使用的两个参数参数。

Public Class Form1
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    '// Set first file parameter to the executable
    Dim sourceFileName As String = "source.txt"
    '// Set second file parameter to the executable
    Dim targetFileName As String = "target.txt"

    '// Create a new ProcessStartInfo
    Dim p As New ProcessStartInfo

    '// Specify the location of the binary
    p.FileName = "D:\_working\ConsoleApplication3.exe"

    '// Use these arguments for the process
    p.Arguments = " """ & sourceFileName & """ """ & targetFileName & """ -optionalPara"

    ' Use a hidden window
    'p.WindowStyle = ProcessWindowStyle.Hidden

    ' Start the process
    Process.Start(p)

  End Sub
End Class

查看生成的屏幕截图: