【问题标题】:Escape characters in a path转义路径中的字符
【发布时间】:2014-06-04 19:49:15
【问题描述】:

我对转义字符有一点问题。我做了一个小程序,从命令行启动时接收各种参数。但问题是,这些参数可能包含反斜杠,并且会产生问题。让我告诉你

假设我这样开始我的程序:

C:\Program\program.exe "C:\Program\" "build and test"

第一个参数是路径,第二个参数是程序应该解释的命令(在这种情况下,它应该“构建和测试”一些东西)

问题是,如果我打印出参数,我会得到:

C:\Program" build
and
test

而我需要的是:

C:\Program\
build and test

我知道 \" 正在破坏那里的一切,所以我应该采取什么样的行动:

  • 实现一种方法来格式化/替换转义字符(如果可能的话)
  • 教导人们以适当的方式将路径作为参数插入(使用正斜杠,或者在末尾不使用斜杠)
  • 以某种方式删除最后一个反斜杠
  • 还有别的吗?

任何帮助表示赞赏:)

【问题讨论】:

  • 鉴于您只获得单个参数,因此您无法在之后真正修复此问题。所以正确的方法是修复输入,即要么关闭反斜杠,要么在内部没有空间时根本不转义路径。您应该在那里使用控制台的选项卡完成;它会根据需要自动引用路径。

标签: c# escaping command-line-arguments


【解决方案1】:

您是否尝试过通过添加 \\ 或 @"PATH" 来转义 \ - Verbatim String Literal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2015-09-12
    • 1970-01-01
    • 2014-01-16
    • 2012-03-16
    • 2021-07-23
    相关资源
    最近更新 更多