2016-06-10 44 views
0

我想可執行文件本身例如內有命令:C#子命令

shorten http://stackoverflow.com/ 

和URL將被解析爲參數,如果我將它設置爲返回參數,它應該返回我http://stackoverflow.com/

另一個例子是

foo bar 

,它會檢查什麼是主要的命令,它是foo和子在它之下,這是bar並將執行該命令。

這應該在可執行文件內完成,而不是在目錄中調用可執行文件。我想在可執行文件中有多個自定義命令,而不是爲每個命令創建一個命令。

我知道如果每個命令都是可執行文件都有參數,但我想要在1個可執行文件中執行一些命令和子命令。這可能嗎?

編輯

這就是我想要的:

static void Main(string[] args) 
    { 
     for (int i = 0; i < args.Length; i++) 
     { 
      if (args[i] == "short") 
      { 
       Console.WriteLine(args[i + 1]); 
      } 
     } 
     Console.Read(); 
    } 

將返回我的short的論點。所以如果我輸入short link它會返回我link

但是,如果我通過命令行調用可執行文件(如C:\Path\ConsoleApplication1.exe),而不是打開應用程序並鍵入short link,那麼它將不會返回任何內容並關閉。

當我打開應用程序並鍵入它時,該如何工作?

+2

當然這是可能的。但在目前的狀態問題過於寬泛且有點不清楚 –

+1

您是否嘗試過自己做這件事? – Toxicable

+0

我編輯了這個問題,使其更清晰 – pleasega

回答

1

您可以使用Console.ReadLine

var input = Console.ReadLine(); 

要獲得命令和參數(S)使用String.Split

var command = input.Split()[0]; 
var argument1 = input.Split()[1]; 

+0

如何檢查字符串/輸入是否有參數而不僅僅是命令? – pleasega

+0

@pleasega - 檢查你用'input.Split()'得到的數組的長度,如果它是== 1那麼你只有一個命令,如果它大於1那麼也有參數 –