加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-17 00:03:17 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用Process调用外部程序: Dim strExe As String = "E:ProjectsCommon Filesmktorrent.exe" Dim p As New Process Dim pinfo As New ProcessStartInfo pinfo.UseShellExecute = False pinfo.RedirectStandardOutput = True pinfo.Arguments =
我正在尝试使用Process调用外部程序:
Dim strExe As String = "E:ProjectsCommon Filesmktorrent.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)

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

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

Word command-line-arguments space issues

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读