2017-02-06 8 views
-1

私のコードでは、空白や二重引用符を含むか含まない2つの引数を持つ別のアプリケーションを起動します。複数の引き数にスペースと二重引用符を含むexeを実行します

どうすればよいですか?例えば

Dim MyArgs As String 
Dim SomeData as string 
Dim MyArg1 As String = "First Argument" 
Dim MyArg2 As String = "Second Argument" & chr(34) & SomeData & chr(34) & "more text" 

MyArgs = MyArg1 & MyArg2 

Process.Start(Myapp.exe, MyArgs) 

は関係なく、それが含まれているどのように多くのスペースや二重引用符の、引数として、このような文字列を渡すことが可能ですか?

+0

arg1とarの間にデリミタ(スペース)が必要になるg2 ...それ以外の場合、受信側アプリケーションはどのように解析しますか? –

+2

[ProcessStartInfo.Arguments'](https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.arguments.aspx)ページでこれを行う例があります。 – Richard

答えて

1

VBの文字列リテラルに二重引用符を含めたい場合は、別の二重引用符でエスケープしてください。

Process.Start(App.exe, "arg1 ""arg 2"" arg3") 

他の文字列と同じように、あなたは、連結使用することができます。

Process.Start(App.exe, "arg1 """ & arg2 & """ arg3") 

をまたはお電話String.Format

Process.Start(App.exe, String.Format("arg1 ""{0}"" arg3", arg2)) 

や使用文字列補間:あなたがしている

Process.Start(App.exe, $"arg1 ""{arg2}"" arg3") 
関連する問題