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

Это моя папка:

Исходный пример: root: {папка проекта} /. Pdf, {папка проекта1} /. Pdf, {папка проекта2} /. Pdf …….

Пример назначения: root: {папка проекта} / ежедневная папка / .pdf, {папка проекта1} / ежедневная папка / .pdf, {папка проекта2} / ежедневная папка / .pdf… ..

 static void Main(string[] args)
        {
            CopyFolder(@"C:\Desktop\Source\pdf-reports", @"C:\Desktop\Destination\Parks");
            Console.ReadLine();
    }

    static public void CopyFolder(string sourceFolder, string destFolder)
        {
        if (!Directory.Exists(destFolder))
                Directory.CreateDirectory(destFolder);
            string[] files = Directory.GetFiles(sourceFolder);
            foreach (string file in files)
            {
                string name = Path.GetFileName(file);
                string dest = Path.Combine(destFolder, name);
                File.Copy(file, dest);
            }
            string[] folders = Directory.GetDirectories(sourceFolder, "l*", SearchOption.TopDirectoryOnly);


        foreach (string folder in folders)
            {
                string name = Path.GetFileName(folder);
                string dest = Path.Combine(destFolder, name);
                CopyFolder(folder, dest);
            }
0
AppDev 29 Май 2019 в 21:31

2 ответа

Лучший ответ

Вот ответ.

        static void Main(string[] args)
        {
            CopyFolder(@"D:\Origin", @"D:\Test");
            Console.ReadLine();
        }

        private static void CopyFolder(string source, string destination)
        {
            if (!Directory.Exists(destination))
                Directory.CreateDirectory(destination);

            var files = new DirectoryInfo(source).GetFiles("*.pdf");
            string dailyFolder = "DailyFolder";
            string destinationDailyFolder = Path.Combine(destination, dailyFolder);
            foreach (var item in files)
            {                
                if (!Directory.Exists(destinationDailyFolder))
                    Directory.CreateDirectory(destinationDailyFolder);
                item.CopyTo(Path.Combine(destinationDailyFolder, item.Name),true);
            }
            var Directories = new DirectoryInfo(source).GetDirectories();
            foreach (var directory in Directories)
            {
                CopyFolder(directory.FullName, Path.Combine(destination,directory.Name));
            }
        }
0
Pandi 4 Июн 2019 в 10:26

Хорошо, вот оно.

Imports System.IO


'get the list of all pdf files from the source folder'
Dim FileList() As String = Directory.GetFiles("Replace for Source Folder", "*.pdf")
Dim FileName As String

'Set the root of the destination folder and create a new folder using as name the current date'
Dim DestPath As String = "Replace for Destination Folder" & DateTime.Now.ToString("yyyy-MM-dd")
Dim DestFolder As DirectoryInfo = Directory.CreateDirectory(DestPath)

'go through each of the files and move those one by one'
For F = 0 To FileList.Length - 1
    FileName = Path.GetFileName(FileList(F))
    File.Move(FileList(F), DestPath & "\" & FileName.toString)
Next

`

0
Mr.Alvaro 31 Май 2019 в 19:44
56366600