c# - 复制包含所有文件和文件夹的目录

标签 c# .net

我正在尝试将一个目录复制到另一个路径。
我找到了这个方法,但是它不复制目录,只复制其中的子目录和文件:

string sourcedirectory = Environment.ExpandEnvironmentVariables("%AppData%\\Program");

foreach (string dirPath in Directory.GetDirectories(sourcedirectory, "*", SearchOption.AllDirectories))
{
    Directory.CreateDirectory(dirPath.Replace(sourcedirectory, folderDialog.SelectedPath));
}
foreach (string newPath in Directory.GetFiles(sourcedirectory, "*.*", SearchOption.AllDirectories))
{
    File.Copy(newPath, newPath.Replace(sourcedirectory, folderDialog.SelectedPath), true);
}

如何在包含所有文件和子文件夹的输出中获取“Program”文件夹?

最佳答案

如果在开始复制之前调整输出路径,它应该可以工作:

string sourcedirectory = Environment.ExpandEnvironmentVariables("%AppData%\\Program");

folderDialog.SelectedPath = Path.Combine(folderDialog.SelectedPath,
    Path.GetFileName(sourcedirectory));

foreach (string dirPath in Directory.GetDirectories(sourcedirectory, "*", SearchOption.AllDirectories))
{
    Directory.CreateDirectory(dirPath.Replace(sourcedirectory, folderDialog.SelectedPath));
}
foreach (string newPath in Directory.GetFiles(sourcedirectory, "*.*", SearchOption.AllDirectories))
{
    File.Copy(newPath, newPath.Replace(sourcedirectory, folderDialog.SelectedPath), true);
}

关于c# - 复制包含所有文件和文件夹的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792426/

相关文章:

c# - ZXing.NET激光扫描

c# - DriveInfo.DriveFormat 上的设备未就绪错误

c# - VS 2010 调试 - 可视化工具在哪里

c# - 字符串格式 : negative/positive floating point numbers

c# - 在 native 命名管道和 System.IO 命名管道之间发送多条消息

c# - Entity Framework 多对多不填充集合

c# - 为什么我在这段代码上得到 "parameter is not valid"异常?

c# - 使用 UA-.NET 调用 OPC-UA 方法

c# - 如何使用 Socket 接收 HTTP 消息

.net - 使用当前的HTTP请求身份作为SharpSVN的默认凭据