如何将子文件夹从文件夹复制到另一个文件夹

本文关键字:文件夹 复制 另一个 | 更新日期: 2023-09-27 18:31:06

我正在应用程序中处理 C#.net 控制台应用程序,我有两个文件夹1)D:'Working Projects'Alticore'AssetXML'LIS, 2)D:'Working Projects'Alticore'AssetXMLProcessed

现在我只想从D:'Working Projects'Alticore'AssetXML'LIS to D:'Working Projects'Alticore'AssetXMLProcessed.复制子文件夹(即LIS)

就像"D:'Working Projects'Alticore'AssetXMLProcessed/LIS"这样的xaclty.

这个问题

的任何解决方案我将不胜感激。

如何将子文件夹从文件夹复制到另一个文件夹

在Windows XP下,它将是:

move "c:'documents and settings'%USERNAME%'desktop'TZClock" "C:'documents and settings'%USERNAME%'Start Menu'Programs'TZClock"

在 Windows 7 上,它是以下内容(尽管我现在无法对此进行测试):

move "c:'users'%USERNAME%'desktop'TZClock" "C:'ProgramData'Microsoft'Windows'Start Menu'Programs'TZClock"

您可以执行此过程或其他操作创建新文件复制所有数据。

还有一个选项,你可以做的是有
File.Copy(src, dest) 方法在 System.IO 命名空间中你也可以使用它。

这应该可以完成这项工作

public static void Copy(String srcPath, String destPath)
{
    DirectoryInfo srcDirectory = new DirectoryInfo(srcPath);
    if (!srcDirectory.Exists) return;
    // Creates LIS directory
    destPath = Path.Combine(Path.Combine(destPath, srcDirectory.Name));
    Directory.CreateDirectory(destPath);
    // Creates all sub directories from srcPath to your destPath
    foreach (String dirPath in Directory.GetDirectories(srcPath, "*", SearchOption.AllDirectories))
        Directory.CreateDirectory(dirPath.Replace(srcPath, destPath));
    // Copies all files from all sub directories from srcPath to your destPath
    foreach (String copyPath in Directory.GetFiles(srcPath, "*.*", SearchOption.AllDirectories))
        File.Copy(copyPath, copyPath.Replace(srcPath, destPath), true);
}

用法:

Copy(@"D:'Working Projects'Alticore'AssetXML'LIS", @"D:'Working Projects'Alticore'AssetXMLProcessed")

如果您不想复制子文件夹或其文件,请删除不需要的。顺便说一下,它将覆盖复制的文件。