【发布时间】: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