指定目录下的所有文件复制到当前应用程序的启动路径下,但没有处理目录本身。如果你需要复制整个文件夹及其内容,而不仅仅是文件,可以使用递归方法来处理。
递归复制文件夹的示例代码:
string destinationDirectory = Application.StartupPath; // 目标文件夹路径
string sourceDirectory = text2; // 源文件夹路径
CopyDirectory(sourceDirectory, destinationDirectory);
// 递归复制文件夹及其内容
void CopyDirectory(string sourceDir, string destDir)
{
DirectoryInfo dir = new DirectoryInfo(sourceDir);
// 检查源文件夹是否存在
if (!dir.Exists)
{
throw new DirectoryNotFoundException(
"Source directory does not exist or could not be found: "
+ sourceDir);
}
// 获取源文件夹下的所有文件和子文件夹
DirectoryInfo[] dirs = dir.GetDirectories();
FileInfo[] files = dir.GetFiles();
// 复制所有文件
foreach (FileInfo file in files)
{
string tempPath = Path.Combine(destDir, file.Name);
file.CopyTo(tempPath, true);
}
// 递归复制子文件夹
foreach (DirectoryInfo subdir in dirs)
{
string tempPath = Path.Combine(destDir, subdir.Name);
// 确保目标子文件夹存在,如果不存在则创建
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
CopyDirectory(subdir.FullName, tempPath);
}
}