如何使用变量来构建Process.Start命令?

时间:2015-07-27 04:36:42

标签: vb.net cmd process.start

我尝试使用我目前使用的Process.Start通过CMD启动应用程序:

Process.Start("cmd", "/k start C:\Windows\application.exe 127.0.0.1 8484")

但是我想取出目录并将其替换为如下变量:

Dim line As String = C:\Windows\Application.exe
Process.Start("cmd", "/k start *line* 127.0.0.1 8484")

2 个答案:

答案 0 :(得分:4)

Dim line As String = "C:\Windows\Application.exe"
Process.Start("cmd", "/k start """" """ & line & """ 127.0.0.1 8484")

为了安全起见,请应用 START "title" [/D path] [options] "command" [parameters] 语法模式:

  

始终包含标题;这可以是一个简单的字符串   "My Script"或只是一对空引号""
根据   Microsoft文档,标题是可选的,但取决于   选择的其他选项如果省略则可能会出现问题。

根据MSDN String Data Type (Visual Basic)

  

格式要求
您必须在引号(" ")中包含字符串文字。如果必须包含引号   对于字符串中的字符,您使用两个连续的引用   标记(""

答案 1 :(得分:2)

Dim line As String = "C:\Windows\Application.exe"
Process.Start("cmd", "/k start " & line & " 127.0.0.1 8484")

根据MSDNProcess.Start()会接受两个字符串参数,因此可以像"/k start " & line & " 127.0.0.1 8484"一样使用