从目录复制所有文件而不创建子目录

时间:2015-12-07 14:37:21

标签: c# folderbrowserdialog

我正在尝试获取目录并在TEMP中创建一个新目录,该目录包含原始目录中的所有文件,但不创建其他子目录。

这是我到目前为止所做的:

Directory.CreateDirectory(Path.Combine(Path.GetTempPath() + "C# Temporary Files"));
            string lastFolder = new DirectoryInfo(folders.SelectedPath).Name;

foreach (string newPath in Directory.GetFiles(folders.SelectedPath, "*.*",SearchOption.AllDirectories)
                    .Where(s=>s.EndsWith(".c")|| s.EndsWith(".h")))
                {
                    File.Copy(newPath, newPath.Replace(folders.SelectedPath, Path.GetTempPath() + "C# Temporary Files\\" + GlobalVar.GlobalInt));
                }

这适用于复制目录本身的文件,但不能复制子目录中的文件。相反,它会引发错误:

  

System.IO.DirectoryNotFoundException。

错误的一个例子:

  

无法找到路径的一部分   ' C:\ Users \ 用户名 \ AppData \ Local \ Temp \ C#临时文件\ 外   目录\子目录 \ 文件名'

1 个答案:

答案 0 :(得分:2)

我递归地 - 可能是类似下面的sudo代码...未经测试..

$http({
    url: myUrl,
    method: "POST",
    data: $.param(javascriptObject),
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
}).then(function(response) {
    // your success logic here   
}).catch(function(reason){
    // your error reason here
});