今天忽然想到相似adb、ffmpeg這樣的程序是怎麼實現的,經過命令行輸入不一樣的參數就能夠執行不一樣的命令。函數
研究了一下,其實實現的邏輯很簡單,以C#控制檯程序爲例,Main函數是這樣的this
class Program { static void Main(string[] args) { } }
其中string [ ] args即是命令行參數了,簡單驗證一下,新建一個命令行程序,寫入這樣一段代碼spa
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 ,這樣咱們就能夠經過判斷條件,來執行不一樣命令行參數所對應的邏輯了。blog
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(); } } }