NET6 怎么把文件夹复制到另一个文件夹文件夹也需要复制
在.NET 6中,可以使用System.IO命名空间下的Directory类和File类来实现文件夹的复制。以下是一个示例代码,演示如何将一个文件夹及其内容复制到另一个文件夹:
using System.IO;
class Program
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\SourceFolder"; // 源文件夹路径
string targetDirectory = @"C:\TargetFolder"; // 目标文件夹路径
// 创建目标文件夹
Directory.CreateDirectory(targetDirectory);
// 获取源文件夹中的所有文件
string[] files = Directory.GetFiles(sourceDirectory);
// 复制文件到目标文件夹
foreach (string file in files)
{
string fileName = Path.GetFileName(file);
string targetPath = Path.Combine(targetDirectory, fileName);
File.Copy(file, targetPath, true); // 第三个参数为true表示覆盖已存在的文件
}
// 获取源文件夹中的所有子文件夹
string[] subDirectories = Directory.GetDirectories(sourceDirectory);
// 递归复制子文件夹及其内容到目标文件夹
foreach (string subDirectory in subDirectories)
{
string subDirectoryName = Path.GetFileName(subDirectory);
string targetSubDirectoryPath = Path.Combine(targetDirectory, subDirectoryName);
CopyDirectory(subDirectory, targetSubDirectoryPath);
}
Console.WriteLine("文件夹复制完成。");
}
static void CopyDirectory(string sourceDirectory, string targetDirectory)
{
// 创建目标文件夹
Directory.CreateDirectory(targetDirectory);
// 获取源文件夹中的所有文件
string[] files = Directory.GetFiles(sourceDirectory);
// 复制文件到目标文件夹
foreach (string file in files)
{
string fileName = Path.GetFileName(file);
string targetPath = Path.Combine(targetDirectory, fileName);
File.Copy(file, targetPath, true); // 第三个参数为true表示覆盖已存在的文件
}
// 获取源文件夹中的所有子文件夹
string[] subDirectories = Directory.GetDirectories(sourceDirectory);
// 递归复制子文件夹及其内容到目标文件夹
foreach (string subDirectory in subDirectories)
{
string subDirectoryName = Path.GetFileName(subDirectory);
string targetSubDirectoryPath = Path.Combine(targetDirectory, subDirectoryName);
CopyDirectory(subDirectory, targetSubDirectoryPath);
}
}
}
替换sourceDirectory和targetDirectory变量的值为你实际的文件夹路径,然后运行代码即可将源文件夹及其内容复制到目标文件夹
原文地址: https://www.cveoy.top/t/topic/iEtU 著作权归作者所有。请勿转载和采集!