忘记花哨的shmancy web东西。我正在寻找一个好的.NET CLI参数处理实用程序,更喜欢开源代码。这适用于需要强大而友好的命令行参数处理的快速而脏的实用程序。
这些是实用工具,可能需要一天的努力。投入几天编写良好的命令行处理似乎有点过分......但他们确实需要它。
我喜欢在命令行处理程序中使用的功能。我对任何有2个或3个以下的开源项目感到非常兴奋。
PS如果我没有找到这样的话,我可能会在接下来的几周里放弃谷歌代码
PPS如果我可以添加标签,我会将此标记为“pleasesearchtheinternetforme”
答案 0 :(得分:7)
同样来自codePlex,CommandLine项目似乎符合您的要求。自由应用项目主页的复制/粘贴提供了......
Command Line Parser Library为CLR应用程序提供了一个简单的编程接口,用于操作命令行输入。此库允许您显示具有良好自定义程度的帮助屏幕。 API保留了对代码无聊的一切。
Command Parser Library支持:
短选项(例如-s)
交换机等短期选项;没有必要的价值
长选项(例如, - long)
组合选项(关于值)
常用功能
两者都接受带空格的值:-s“Hello World!” - 长“你好CLR!”
答案 1 :(得分:7)
你应该查看Mono.Options(http://www.ndesk.org/Options),因为它更加跨平台友好,并在Mono本身广泛使用。
答案 2 :(得分:2)
从CodePlex,ConsoleFX似乎符合您的要求。自由应用项目主页的复制/粘贴提供了......
ConsoleFx是一个基于属性的.NET / Mono框架,用于轻松开发命令行界面(CLI)应用程序。它通过使用属性自动完成创建CLI应用程序所涉及的大部分工作,例如命令行参数解析,错误处理和验证。使用ConsoleFx,您可以告别冗长的繁琐代码来解析命令行参数。
使用ConsoleFx命令行解析器,您可以声明性地指定用于指定命令行参数的一整套条件。这些可以包括:
ConsoleFx还提供了用于控制台输出捕获和Console类扩展的实用程序类。我们计划在未来添加其他实用程序类,使其成为创建命令行应用程序的一体化解决方案。
答案 3 :(得分:0)
成吉思(http://www.sellsbrothers.com/tools/genghis/)有一个。但是不确定维护状态,它可能带来比你想要的更多的行李。
答案 4 :(得分:0)
我创建了一个command line parsing class,为你做了一个(林克)友好的方式。例如,此命令行:
-country=Sweden -IsNiceCountry -Country="The Netherlands" /empty= /space=" "
获取所有国家/地区:
var parameters = new ParametersParser();
parameters.GetParameters("-country")
空字符串的参数:
parameters.GetFirstValue("/Empty")
密钥没有价值:
parameters.HasKeyAndNoValue("-IsNiceCountry")
Key不存在(返回false):
parameters.HasKey("/notExist")
还有更多......