使用命令行解析器解析以“”结尾的路径
本文关键字:结尾 路径 命令行 | 更新日期: 2023-09-27 18:35:11
在C#中,我解析以"''"结尾的路径,如下所示:-p "C:''My Folder''"。问题是,在解析时,我得到C:''My Folder"(带有最后一个引号),而不仅仅是C:''My Folder。有没有办法避免这个问题?我已经尝试过使用CommandLineParser和NDesk.Options,两者都以相同的问题告终...
选项类:
class Options
{
[Option('p', "path", Required = false)]
public string parsedPath { get; set; }
[Option('f', "file", Required = false)]
public string parsedFile { get; set; }
[Option('l', "label", Required = false)]
public string parsedLabel { get; set; }
[Option('t', "torrent", DefaultValue = false)]
public bool isTorrent { get; set; }
}
代码实现:
var options = new Options();
CommandLine.Parser parser = new CommandLine.Parser();
parser.ParseArguments(args, options);
编辑:我正在使用命令行解析器库库
你必须转义反斜杠: -p "C:'My Folder''"
博士
转义M('M
)不会转义,但转义引号('"
)可以。唉,发生的事情是你试图转义引号成为字符串的一部分来产生(C:'My Folder"
)。我完全可以理解为什么会发生这种情况,但这有点不直观.
我偶然发现了同样的东西,但来自相反的方向。我的参数-myPath C:'what ever' --verbose
,但这导致我的路径被C:'what
。所以我-myPath "C:'what ever'" --verbose
添加了引号,MyPath变得C:'what ever" --verbose
。