[英]Passing multiple arguments as command line args
我正在使用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-我传递的所有值都作为单个值传递:“第一个值第二个值第三个值”
我尝试在第一个应用程序中用双引号将每个包装起来,但似乎无济于事。 我知道我可以检索args(0),然后将其拆分为值数组,但我不想这样做。 即使以前没有双引号,它也以某种方式对我有用。 所以我想弄清楚发生了什么,如何使它以多个值而不是1的形式传递我的字符串。
您的String.Join不会给您您想要的。 不会将双引号放在字符串的开头和结尾。
startInfo.Arguments = """" + String.Join(""" """, MyArray) + """"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.