![](/img/trans.png)
[英]C# pass file text to list when file is entered via command line argument
[英]C# Pass a file via command line
我的程序應該讀取該文件並計算其中的元音和輔音的數量。 因此,必須將fileName作為命令行參數傳遞。 這是我的代碼的一部分:
class FileDetails
{
static void Main(string[] args)
{
Console.WriteLine(args.Length);
foreach (string arg in args)
{
Console.WriteLine(arg);
}
}
}
編譯完此文件后,我通過命令行運行它,並將一些參數傳遞給Main函數:
C:\Users\StepN\Desktop\FILEDETAILS>filedetails abc def xyz
編程的結果如下所示:
3
abc
def
xyz
因此,問題的根源是我需要將文件名作為命令行參數傳遞,但我不知道如何執行。
在此先感謝您的幫助!
class Program
{
static void Main(string[] args)
{
if (args.Length == 0){
Console.WriteLine("Please pass command line arguments.");
return;
}
string fileName = args[0];
}
}
如果在一個命令行參數中使用空格,則將其用雙引號引起來。 這就是您應該給可執行文件提供參數的方式:
C:\Users\StepN\Desktop\FILEDETAILS>filedetails.exe "C:\file name.txt"
在代碼訪問文件名中:
class FileDetails
{
static void Main(string[] args)
{
if(args.Length > 0 )
{
string filePath = args[0];
//read the file using System.IO namespace
}
}
}
唯一的問題是文件名帶有空格。 如果您的文件名為abc def xyz
,則應使用雙引號將其傳遞:
C:\Users\StepN\Desktop\FILEDETAILS>filedetails "abc def xyz"
有一種方法可以做。
1)打開記事本並編寫代碼並保存。
2)最重要的是:打開Visual Studio命令提示符並按如下所示編譯代碼:(i)設置當前路徑,該路徑用於保存程序。 (ii)使用csc FileName.cs進行編譯
3)現在使用以下命令行參數執行程序:(a)FileName arg1 arg2
如果您不喜歡這樣做,請創建一個批處理文件並傳遞參數。 然后運行您的.bat文件,這將觸發您的C#程序。 我的意思是,這可能會觸發bin文件夾中的.exe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.