簡體   English   中英

將多個參數作為命令行參數傳遞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM