vb.net So übergeben Sie eine Zeichenfolge mit Leerzeichen an die Befehlszeile
Ich versuche ein externes Programm mit Process aufzurufen:
Dim strExe As String = "E:\Projects\Common Files\mktorrent.exe"
Dim p As New Process
Dim pinfo As New ProcessStartInfo
pinfo.UseShellExecute = False
pinfo.RedirectStandardOutput = True
pinfo.Arguments = " -a http://blah.com/announce.php -l " & FileSizeMarker & " " & fn
pinfo.FileName = strExe
pinfo.WorkingDirectory = fn.Substring(0, fn.LastIndexOf("\"))
pinfo.WindowStyle = ProcessWindowStyle.Normal
pinfo.CreateNoWindow = True
p.StartInfo = pinfo
p.Start()
Das Problem liegt beim Dateinamen (Variable fn oben). Wenn es Leerzeichen gibt, drosselt der Befehl - ohne Leerzeichen funktioniert es einwandfrei. Ich habe versucht, 1, 2 oder 3 Anführungszeichen wie folgt hinzuzufügen:
fn = Chr(34) & Chr(34) & Chr(34) & fn & Chr(34) & Chr(34) & Chr(34)
und auch
fn = "\") & Chr(34) & fn & "\"& Chr(34)
und viele andere Kombinationen, aber es gibt mir immer noch einen Fehler. Irgendwelche Gedanken darüber, wie ich das zum Laufen bringen kann? TIA