在C#中如何獲取程序的命令行參數(shù)
在C#中獲取程序的命令行參數(shù)
實現(xiàn)此目的的一種方法是重寫程序的Main方法并賦予其一個字符串?dāng)?shù)組參數(shù),如下面的代碼所示。
static void Main(string[] args) { foreach (string arg in args) { lstArguments.Items.Add(arg); } }
這種方法是從 C 編程語言繼承而來的。
我更喜歡下面的方法
部分是因為您不需要處理Main,部分是因為它允許您在程序中的任何位置檢查命令行參數(shù)。
private void Form1_Load(object sender, EventArgs e) { foreach (string arg in Environment.GetCommandLineArgs()) { lstArguments.Items.Add(arg); } }
此代碼只是循環(huán)遍歷Environment.GetCommandLineArgs方法 返回的參數(shù)。
集合中的第一個參數(shù)始終是執(zhí)行程序的完全限定名稱。集合的其余部分保存?zhèn)鬟f給程序的任何其他參數(shù)。
這種技術(shù)很有趣
但更有趣的是,你可以用很多方法向程序發(fā)送參數(shù)。
例如,你可以:
在 IDE 中設(shè)置它們。打開“項目”菜單,選擇“屬性”(在底部),單擊“調(diào)試”選項卡,然后在“命令行參數(shù)”文本框中輸入?yún)?shù)。(這主要用于測試。)
在命令提示符下執(zhí)行程序(例如,運行命令或 cmd.exe),并在后面加上參數(shù)
將一個或多個文件或文件夾拖放到可執(zhí)行程序上。
右鍵單擊并將文件或文件夾發(fā)送到“發(fā)送到”菜單中添加的可執(zhí)行程序(請參閱我的帖子“將項目添加到發(fā)送到菜單”)。
拖放和發(fā)送到方法為您提供了一種相當(dāng)簡單的方法來制作處理文件或目錄的程序。啟動時,程序可以檢查其命令行參數(shù)。如果有任何參數(shù)(除程序名稱外),它可以處理文件。如果沒有參數(shù),它可以顯示用戶界面,以便用戶可以選擇要處理的文件。
這就是C# 中在目錄層次結(jié)構(gòu)中搜索文件以查找目標(biāo)字符串的示例的工作 原理。啟動時,它會檢查其命令行參數(shù)。如果程序有多個參數(shù),它會將第二個參數(shù)放在您輸入搜索起始目錄的文本框中。
這使得開始搜索變得更容易。只需將文件夾拖到可執(zhí)行程序上或通過“發(fā)送到”菜單將其發(fā)送到此程序即可。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#中Invoke和BeginInvoke區(qū)別小結(jié)
有時候,我們不得不跨線程調(diào)用主界面的控件來進(jìn)行操作,所以為了方便的解決問題,.net為我們提供了Invoke?與beginInvoke,那么Invoke和BeginInvoke區(qū)別在哪,本文就來詳細(xì)的介紹一下2023-08-08C# Oracle批量插入數(shù)據(jù)進(jìn)度條的實現(xiàn)代碼
這篇文章主要介紹了C# Oracle批量插入數(shù)據(jù)進(jìn)度條的實現(xiàn)代碼,需要的朋友可以參考下2018-04-04C#多線程之Thread中Thread.IsAlive屬性用法分析
這篇文章主要介紹了C#多線程之Thread中Thread.IsAlive屬性用法,實例分析了C#判斷線程可用狀態(tài)的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04