问题标签 [command-line-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4031 浏览

c# - 命令行解析器缺少库包括?

我正在使用CommandLineParser并将示例代码粘贴到我的示例项目中。我收到很多错误,例如:

严重性代码描述项目文件行抑制状态错误 CS0246 找不到类型或命名空间名称“DefaultValue”(您是否缺少 using 指令或程序集引用?)
严重性代码描述项目文件行抑制状态错误 CS0246 类型或命名空间名称找不到“ParserStateAttribute”(您是否缺少 using 指令或程序集引用?)

我不包括图书馆之类的吗?我已经包含CommandLine并通过 nuget 安装了该软件包https://archive.codeplex.com/?p=commandline

0 投票
1 回答
1233 浏览

c# - 如何访问已解析的命令行的 Value 属性?

如何访问 CommandLine Parsed 的 Value 属性?

尝试使用CommandLineParser

Parsing的 wiki 部分说 T 的实例可以通过Value属性访问...... 如果解析成功,您将获得一个派生的 Parsed 类型,该类型通过其 Value 属性公开 T 的实例。

但是我看不到任何Value财产parserResult,只有Tag...

而且我知道我错过了一些东西,就好像我在调试一样,我可以看到Value属性???

0 投票
3 回答
2175 浏览

c# - 在单个命令上对多个动词进行命令行解析

我正在编写一个控制台应用程序,我们必须在已安装的应用程序上更新多个连接字符串。我使用了带有“动词”功能的“ CommandLineParser ”库。我的要求是使用单个命令行来传递不同的连接字符串值。

而在“CommandLineParser”中它不能完成?还有其他我可以使用的库吗?

我尝试了以下软件包,

  1. 命令行参数解析器
  2. 命令行解析器
0 投票
1 回答
7615 浏览

c# - C# CommandLineParser --help 打印然后停止

我正在构建一个 C# 控制台应用程序,它使用CommandLineParser从 cmd 获取一些参数。

默认情况下,该库已经带有 --help(或帮助动词)来显示有关每个接受的参数的帮助信息。

现在,当我运行 --help 命令时,我确实看到了帮助屏幕,但随后程序继续运行,但它中断了,因为未设置其他默认参数。

代码如下所示:

然后在程序中:

所以我得到了帮助屏幕,然后程序继续运行(因为 opts.StarPath 没有设置而中断,其他默认值也没有)。

知道收到“帮助”命令后如何“退出”程序吗?

注意:如果使用了未知参数,CommandLineParser 也会抛出帮助屏幕,这也应该退出程序。

0 投票
1 回答
342 浏览

c# - CommandLineParser 库 - 如何将一个选项的输出用于下一个选项

我正在阅读 CommandLineParser 文档,我对这里的功能设计方式非常感兴趣:

动词的命令行

我基本上有一个命令行应用程序,我需要在其中设置不同的参数。像下面的东西

MyApp.exe -a val1 -b val2 -c -d

我想要实现的是,如果 -c 存在于命令行应用程序中,我想获取-a val1 -b val2产生的结果,然后使用该结果和-c的操作调用我的下一个函数.

在这种情况下:

如何获得RunAddAndReturnExitCode(opts)的结果并将其添加到 RunCommitAndReturnExitCode 中?

我真的很喜欢动词的设计方式,因为它使代码保持整洁。

0 投票
1 回答
130 浏览

c# - 仅当使用 CommandLineParserLibrary 存在其他选项时才允许选项的简单方法

我正在尝试使用这个库来实现逻辑:我有动词write,以及这个方案的选项:

write (-md [-p|-s] [-t]) | (-txt [-v])- 其中'|' - 表示或(使用 -md 时仅接受 -p OR -s(但不是必需的,如 '[]' 所示))

有没有简单的方法来实现这个?还是我应该将其拆分为单独的动词?

0 投票
0 回答
594 浏览

c# - Unable to parse error options in CommandLineParser

I am using commandLineParser version 2.5.0 https://github.com/commandlineparser/commandline/wiki. If there is an error, I am unable to parse which command line options are invalid. I can only find out the type of error from Current.Tag. How do I know which command line option had error?

0 投票
2 回答
778 浏览

command-line-arguments - 如何使用 CommandLineParser 只允许命令行上的标志选项

我正在使用 C# CommandLineParser 来处理我的命令行参数。

https://github.com/commandlineparser/commandline

我在命令行上允许的唯一选项是:

如果我不小心忘记了可选选项(参数)上的破折号,例如:

该程序仍然运行并且不会抱怨“b”。如果指定了这样的预期参数,我如何报告错误?我试过使用:

但这似乎没有标记任何错误。想法?

0 投票
1 回答
1386 浏览

.net-core - 使用 AddCommandLine 后如何检索 args 数组

我正在为控制台应用程序开发 POC,并且在设置中使用 AddCommandLine 后,我正在努力从配置中检索命令行值。

csproj

节目班

ConsoleApp 类

foreach 循环之前的 Parser 部分无法编译,并且循环的输出不会打印出我添加的任何参数。

我知道一般建议var someValue = Configuration.GetValue<int>("MySetting:SomeValue");参数在哪里是--MySetting=SomeValue检索 cmd 行值的推荐方法。

我用作参数的值是delete -e CI -t depchpolestar -l de-DE,当我查看我的配置对象时,我看到

在此处输入图像描述

这就是为什么我认为该行var t = config.GetSection("Args");应该检索 args 数组。我也尝试过var t = config.GetValue<string[]>("Args");,但似乎都没有。在我看来,配置对象的索引 4 是一个以“Args”为键的字符串数组

如何检索字符串数组以便将其传递给 CommandLineParser 的 ParseArguments 方法?

[编辑]一种解决方案:

我现在可以让参数通过,但这不是一个特别好的方法;如果我将参数构造为--delete "-e CI -t depchpolestar -l de-DE"而不是delete -e CI -t depchpolestar -l de-DE将以下代码添加到 ConsoleApp 类:

执行命中 DoWork 方法。很好,但 DeleteOptions.cs 定义了一个动词,目的是添加更多命令。所以要做更多的工作,但要走正确的路。

[编辑] 我也意识到我不需要添加AddCommandLine()调用,因为它们是默认添加的。

0 投票
1 回答
710 浏览

c# - CommandLine.Parser 是否支持选项的多次出现?

我如何使用CommandLine.Parser来支持这一点?