传递多个参数作为命令行参数
问题描述:
我打电话从其他使用的Process.Start一个.NET应用程序,并通过在一堆字符串作为命令行参数:传递多个参数作为命令行参数
startInfo.Arguments = String.Join(""" """, MyArray)
Dim p As Process = Process.Start(startInfo)
我的意图是在像传递:
“第一值”, “第二值”, “第三值”
并从第二应用中检索:
Sub Main(ByVal args() as String)
If args.Length > 0 Then
End If
...
End Sub
不幸的是args.Length只返回1 - 我通过获取传递上为单一值的所有值:“第一个值第二个值第三值”
我试着每个包裹在双引号中的第一个应用程序,但似乎并不帮助。我知道我可以检索参数(0),然后将其分割成一组值,但我不想这样做。也不知何故,它之前,我的工作,即使没有双引号。所以我想弄清楚发生了什么事情,我怎样才能让它通过我的字符串作为多个值而不是1.
答
你的String.Join不会给你你想要的。它不会在字符串的开始和结尾放置双引号。
startInfo.Arguments = """" + String.Join(""" """, MyArray) + """"
谢谢!就是这样! – ElenaDBA 2015-02-11 14:17:14