我正在重新设计一个命令行应用程序,希望找到一种使其使用更加直观的方法。有没有关于命令行应用程序参数格式的惯例?或者其他人发现有用的任何方法?
我正在重新设计一个命令行应用程序,希望找到一种使其使用更加直观的方法。有没有关于命令行应用程序参数格式的惯例?或者其他人发现有用的任何方法?
我刚发布了一个更好的命令行解析器。
https://github.com/gene-l-thomas/coptions
在NuGet上可以找到Install-Package coptions
using System;
using System.Collections.Generic;
using coptions;
[ApplicationInfo(Help = "This program does something useful.")]
public class Options
{
[Flag('s', "silent", Help = "Produce no output.")]
public bool Silent;
[Option('n', "name", "NAME", Help = "Name of user.")]
public string Name
{
get { return _name; }
set { if (String.IsNullOrWhiteSpace(value))
throw new InvalidOptionValueException("Name must not be blank");
_name = value;
}
}
private string _name;
[Option("size", Help = "Size to output.")]
public int Size = 3;
[Option('i', "ignore", "FILENAME", Help = "Files to ignore.")]
public List<string> Ignore;
[Flag('v', "verbose", Help = "Increase the amount of output.")]
public int Verbose = 1;
[Value("OUT", Help = "Output file.")]
public string OutputFile;
[Value("INPUT", Help = "Input files.")]
public List<string> InputFiles;
}
namespace coptions.ReadmeExample
{
class Program
{
static int Main(string[] args)
{
try
{
Options opt = CliParser.Parse<Options>(args);
Console.WriteLine(opt.Silent);
Console.WriteLine(opt.OutputFile);
return 0;
}
catch (CliParserExit)
{
// --help
return 0;
} catch (Exception e)
{
// unknown options etc...
Console.Error.WriteLine("Fatal Error: " + e.Message);
return 1;
}
}
}
}
支持自动生成--help信息,动词例如:commmand.exe
尽情享受。
-操作[参数] -命令[你的命令] -其他事项[其他参数]....
例如,
YourApp.exe -file %YourProject.prj% -Secure true
你的应用程序所使用的约定取决于:
1)它是什么类型的应用程序。
2)你使用的操作系统是什么。Linux?Windows?它们都有不同的约定。
我建议你查看其他命令行界面上的其他命令,特别注意传递的参数。错误的参数应该给用户提供解决方案导向的错误消息。易于找到的帮助屏幕也可以提高可用性。
如果不知道你的应用程序具体做什么,很难给出具体的例子。