【问题标题】:Passing 2 filepaths with spaces via commandline to a C# application通过命令行将 2 个带空格的文件路径传递给 C# 应用程序
【发布时间】:2013-09-14 05:58:51
【问题描述】:

我正在尝试通过命令行将两个目录路径传递给 C# 应用程序。这些路径可能包含空格,并且考虑到 C# 通过分隔空格来填充 args[],这给我带来了问题。

我尝试的是传递用引号括起来的路径,如下所示:

myprogram.exe "C:\aa a\bbb\" "C:\ppp\ll l\"
但是,

..this 会产生一个问题,因为 C# 将每个路径末尾的反斜杠解释为转义字符,因此它也在解析双引号。当我使用这些参数运行应用程序时,args[] 只包含一个条目:

C:\aa a\bbb" C:\ppp\ll l"

简单的解决方案是只输入目录路径而没有最后的反斜杠,但这不是最佳的,并且可能会使程序的用户感到沮丧。

有没有简单的解决方案?

【问题讨论】:

    标签: c# command-line path arguments


    【解决方案1】:

    您是否尝试“两次”通过它们?

    myprogram.exe "C:\\aa a\\bbb\\" "C:\\ppp\\ll l\\"
    

    【讨论】:

    • 这行得通,但这意味着我必须告诉程序的每个用户他们必须输入两次反斜杠。
    猜你喜欢
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2015-02-20
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多