首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从源抓取.pdf文件,复制到目标的daily文件夹下?

如何从源抓取.pdf文件,复制到目标的daily文件夹下?
EN

Stack Overflow用户
提问于 2019-05-30 02:31:31
回答 2查看 207关注 0票数 0

click to see Folder directory image如何从源抓取.pdf文件复制到目标的daily文件夹下?有多个{项目文件夹},每个项目文件夹都需要复制到相应的目标位置。

下面是我的文件夹目录:

源示例:根:{项目文件夹}/.pdf,{项目folder1}/.pdf,{项目folder2}/.pdf……。

目标示例:根目录:{项目文件夹}/daily文件夹/.pdf,{项目folder1}/daily文件夹/.pdf,{项目folder2}/daily文件夹/.pdf…。。

代码语言:javascript
复制
 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);
            }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-04 18:26:56

这就是答案。

代码语言:javascript
复制
        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
EN

Stack Overflow用户

发布于 2019-05-31 22:50:12

好的,就是这里。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56366600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档