Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Robust and friendly command line tools for .NET? [closed]

Forget fancy shmancy web stuff. I'm looking for a good .NET CLI argument processing utility, prefer open source code. This is for quick and dirty utilities that need robust and friendly command line argument handling.

These are utilities with maybe a day of effort in them. Investing a few days writing good command line handling seems overkill ... but they really need it.

Features I like in command line handlers. I'd be thrilled with any open source project that had 2 or 3 of the following.

  • A consistent syntax, posix had a nice command line standard, but not necessarily posix.
  • Ability to provide short names for agruments. E.g. "msbuild /t" == "msbuild /target"
  • It supports good command line parsing then gets out of the way. I want some that my code uses, not something that imposes a pattern on my code e.g. I don't want to have to respond to the presence of an arg with an event, that type of thing.
  • Seperation of concerns is good enough that it's logic can be unit tested.
  • Oh - is it two much to ask for it to read attributes off a class properties (as in .NET configuration classes)?
  • I like the config file overrides in msbuild. I can set properties in a build file, but override on the command line.
  • Built in "show usage". WSF files (csript.exe) have this functionality. I'm not willing to write jscript to get the command line handling though.
  • Not powershell. I can't find anyone in my company who can stand Powershell syntax.

PS If I don't find such a thing, I'll probably drop one on google code in the next few weeks

PPS If I could add tags, I'd tag this "pleasesearchtheinternetforme"

like image 401
Precipitous Avatar asked May 10 '09 05:05

Precipitous


People also ask

What is robust command line?

robust is a programmer's command that computes a robust variance estimator based on varlist of equation-level scores and a covariance matrix.

Which protocol will allow you to access the command line interface CLI via an encrypted connection?

The CLI is accessed through a console or through a Secure Shell (SSH. SSH is a network protocol that provides secure access to a remote device. ) session from a remote management console or workstation.

What is a way to remotely access the command line interface CLI over a network interface?

The console is a physical port on the switch that allows access to the CLI. We typically use this the first time we configure the switch. Telnet and SSH are both options for remote access.


2 Answers

Also from codePlex, the CommandLine project seems to meet your requirements. A Liberal application of copy/paste from the projects home page gives ...

The Command Line Parser Library offers to CLR applications a simple programming interface for manipulating command line input. This library allows you to display an help screen with a good degree of customization. The API keeps on its shoulders everything boring to code.

The Command Parser Library supports:

  • Short options (-s, for example)

    • Option+Value/No space: -sHello
    • Option+Space+Value: -s Hello
  • Short options like switches; no value required

    • Option+Space+Option+....... -s -x -y -z
    • Option+Option+Option+...: -sxyz...
    • Option+Option+Space/Any Comb.: -sx -yz
  • Long options (--long, for example)

    • Option+Equal+Value: --long=Hello
    • Option+Space+Value: --long Hello
  • Composed options (its about values)

    • any 1;2;3;4 (separator is configurable)

Common features

Both accepts values with spaces: -s"Hello World!" --long "Hello CLR!"

like image 109
Bevan Avatar answered Sep 22 '22 01:09

Bevan


You should check out Mono.Options (http://www.ndesk.org/Options) since it is a lot more cross-platform friendly and used extensively in Mono itself.

like image 36
Rafael Ferreira Avatar answered Sep 21 '22 01:09

Rafael Ferreira