今天突然想到類似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(); } } }