在命令行参数上拆分字符串

时间:2016-06-16 14:03:46

标签: c#

我有一个从文件中提取数据的程序,它在第三方调度程序上运行,该调度程序扫描文件夹中的文件。我遇到的问题是它正在读取文件夹中的所有文件并将其读取为好像它是一个大文件示例:

FILE1.TXT FILE2.TXT

但是像文件名一样处理它是File1.txtFile2.txt

我决定尝试在命令行参数中拆分字符串并使用它。

我知道它与字符串拆分有关,然后是一个foreach循环,但对于我的生活,我不能让它工作

这是我在尝试拆分之前的原始代码

class Program
{
    static void Main(string[] args)
    {
        string input = "";
        string output = "";

        try
        {
            if (args.Length > 0)
            {
                foreach (string s in args)
                {
                    Console.WriteLine(s);
                }
                input = args[0];
                output = args[1];
            }
            else
            {
                Console.WriteLine("Input");
                input = Console.ReadLine();
                Console.WriteLine("Output Location");
                output = Console.ReadLine();
            }

我该如何对此进行排序?

1 个答案:

答案 0 :(得分:1)

这段代码应该可以工作但是它假设所有文件都是带有.txt作为扩展名的txt文件而且你只有一个参数(所有文件都合并成一个字符串,所以args只会读取一个参数)。

public static void Main(string[] args)
{
    string input = args[0];
    List<string> files = input.Split('.').ToList<string>();
    for (int i = 0; i < files.Count - 1; i++)
    {
        files[i] = files[i].Replace("txt","");
        files[i] += ".txt";
    }
    for (int i = 0; i < files.Count - 1; i++)
    {
        Console.WriteLine(files[i]);
    }
    return;
}