如何通过命令行参数将文件路径传递给程序

时间:2016-11-25 16:34:28

标签: c# visual-studio

我有5个文件,我已经解析了。它们是文本文件,我不知道如何通过命令行arguemnt将它们传递给程序。我正在使用visual studio和C sharp。当我进入Project>Properties>Debug>Command Line Argument>我是否只输入文件?像File01.txt,File02.txt等...

2 个答案:

答案 0 :(得分:5)

最简单的方法是认识到命令行参数作为Main(...)方法中的字符串数组传递给您。

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);

        foreach(var arg in args)
        {
            System.Console.WriteLine(arg);
        }
    }
}

(大致来自:https://msdn.microsoft.com/en-us/library/acy3edy3.aspx

特别是在回答您的问题时 - 是的,在调试选项卡中,但它们需要以空格分隔,而不是以逗号分隔。

如果您确实想要打开并阅读文件,那么您需要一些类似的内容(假设他们是文本文件):

int counter = 0;
string line;

using(var file = new System.IO.StreamReader(arg))
{
    while((line = file.ReadLine()) != null)
    {
        Console.WriteLine (line);
        counter++;
    }
}

(大致来自:https://msdn.microsoft.com/en-GB/library/aa287535%28v=vs.71%29.aspx

答案 1 :(得分:0)

在Main方法中,您可以按以下方式处理参数:

static void Main(string[] args)
{
    if (args.Length > 0)
    {
        foreach (string p in args)
        {
            Console.WriteLine(p);
        }
    }
    else
    {
        Console.WriteLine("Empty input parameters");
    }
}

从命令行运行程序时,必须使用以下语法:

C:\>yourprogram.exe firstfile.txt secondfile.xls thridfile.dat