Process を使用して外部プログラムを呼び出そうとしています:
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()
問題はファイル名 (上記の変数 fn) にあります。スペースがある場合、コマンドはチョークします。スペースがないと、正常に機能します。次のように、1、2、または 3 つの引用符を追加してみました。
fn = Chr(34) & Chr(34) & Chr(34) & fn & Chr(34) & Chr(34) & Chr(34)
そしてまた
fn = "\") & Chr(34) & fn & "\"& Chr(34)
および他の多くの組み合わせですが、それでもエラーが発生します。これを機能させる方法について何か考えはありますか?ティア