Переименуйте набор файлов, используя информацию, представленную в текстовом файле - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть некоторые сомнения относительно того, как подойти к проблеме переименования набора файлов pdf в соответствии с информацией, присутствующей в файле txt.Например, представьте, что в txt-файле следующие данные разделены вкладками:

"2222" "_" "Z1" "001" "E" "07"

"2222" "_" "C1" "002" "F" "08"

"2222" "_" "D1" "003" "F" "09"

Количество pdf-файлов в данной папке всегда соответствует количеству строк в txt-файле.Как изменить имена файлов * pdf, используя эту информацию в файле txt, который находится в той же папке, где находятся файлы pdf, без кавычек?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете использовать следующий код в качестве отправной точки и сделать его более сложным, если это необходимо.У меня есть комментарии, чтобы помочь следовать.Не забудьте включить «using System.IO;».

class Program
{
    static void Main(string[] args)
    {
        string directory = @"E:\TempFiles\"; //Name of directory containing text files and PDFs

        //Get text file with names for PDFs...
        string filenames = File.ReadAllText(directory + "names.txt");

        //Removed quotes, but can be done differently, and split by space, which may not work for all your cases, but gets going in the right direction...
        string[] listFilenames = filenames.Replace("\"", "").Split('\t');

        int i = 0; //Used to access list of filnames...
        foreach (string file in Directory.GetFiles(directory))
        {
            //Skip text file...
            if (!file.EndsWith(".txt"))
            {
                //Rename file...
                File.Move(file, directory + listFilenames[i] + ".pdf");
                i++;
            }
        }
    }
}
...