今天突然想到类似adb、ffmpeg这样的程序是怎么实现的,通过命令行输入不同的参数就可以执行不同的命令。
研究了一下,其实实现的逻辑很简单,以C#控制台程序为例,Main函数是这样的
class Program
{
static void Main(string[] args)
{
}
}
其中string [ ] args便是命令行参数了,简单验证一下,新建一个命令行程序,写入这样一段代码
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(args[i]);
}
Console.ReadLine();
}
}
编译后,在cmd中输入参数
结果打印出了输入的 a b c ,这样我们就可以通过判断条件,来执行不同命令行参数所对应的逻辑了。
using System;
namespace 命令行参数设置程序
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
switch (args[i])
{
case "-h":
Console.WriteLine("-h: this is help");
break;
default:
Console.WriteLine("error: No such command");
break;
}
}
Console.ReadLine();
}
}
}