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