vb.net如何将带空格的字符串传递给命令行

前端之家收集整理的这篇文章主要介绍了vb.net如何将带空格的字符串传递给命令行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Process调用外部程序:
  1. Dim strExe As String = "E:\Projects\Common Files\mktorrent.exe"
  2. Dim p As New Process
  3. Dim pinfo As New ProcessStartInfo
  4. pinfo.UseShellExecute = False
  5. pinfo.RedirectStandardOutput = True
  6. pinfo.Arguments = " -a http://blah.com/announce.PHP -l " & FileSizeMarker & " " & fn
  7. pinfo.FileName = strExe
  8. pinfo.WorkingDirectory = fn.Substring(0,fn.LastIndexOf("\"))
  9. pinfo.WindowStyle = ProcessWindowStyle.Normal
  10. pinfo.CreateNoWindow = True
  11. p.StartInfo = pinfo
  12. p.Start()

问题在于文件名(上面的变量fn).如果它有空格,命令会阻塞 – 没有空格,它可以正常工作.我试过添加1,2或3个引号,如下所示:

  1. fn = Chr(34) & Chr(34) & Chr(34) & fn & Chr(34) & Chr(34) & Chr(34)

并且

  1. fn = "\") & Chr(34) & fn & "\"& Chr(34)

和许多其他组合,但它仍然给我一个错误.有关如何让它工作的任何想法?
TIA

请查看以下链接,它在C#中,可能对您有所帮助

Word command-line-arguments space issues

猜你在找的VB相关文章