gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:12:52 25 4
gpt4 key购买 nike

我正在尝试使用 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)

和许多其他组合,但它仍然给我一个错误。关于如何让它发挥作用有什么想法吗?TIA

最佳答案

这确实是一个古老但尚未解决的问题。我的 2 美分贡献。

在字符串前后使用CHR(34),将其分隔如下:

Arg = "Name="& chr(34) & "John Doe da Silva"& chr(34)

就这样!

关于vb.net 如何将带空格的字符串传递到命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com