C# 如何将文件复制到另一个目录?
例如,有一个文件在D:\MySoft\Other\doc\文件.doc要复制到E:\Test文件夹下,保留Other以下的目录,使结果为E:\Test\Other\doc...
例如,有一个文件在 D:\MySoft\Other\doc\文件.doc
要复制到E:\Test 文件夹下,保留Other以下的目录,使结果为E:\Test\Other\doc\文件.doc
这样要怎么做啊 展开
要复制到E:\Test 文件夹下,保留Other以下的目录,使结果为E:\Test\Other\doc\文件.doc
这样要怎么做啊 展开
4个回答
展开全部
private void CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加
if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
{
aimPath += System.IO.Path.DirectorySeparatorChar;
}
// 判断目标目录是否存在如果不存在则新建
if (!System.IO.Directory.Exists(aimPath))
{
System.IO.Directory.CreateDirectory(aimPath);
}
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if(System.IO.Directory.Exists(file))
{
CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
}
// 否则直接Copy文件
else
{
System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file),true);
}
}
}
catch(Exception e)
{
throw;
}
}
}
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加
if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
{
aimPath += System.IO.Path.DirectorySeparatorChar;
}
// 判断目标目录是否存在如果不存在则新建
if (!System.IO.Directory.Exists(aimPath))
{
System.IO.Directory.CreateDirectory(aimPath);
}
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if(System.IO.Directory.Exists(file))
{
CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
}
// 否则直接Copy文件
else
{
System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file),true);
}
}
}
catch(Exception e)
{
throw;
}
}
}
展开全部
在文件上点击鼠标右键复制,然后在另一个目录下点击鼠标右键粘贴就可以了。希望采纳,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string destPath=Path.Combine(@"H:\C#", Path.GetFileName(@"C:\歌曲\宿敌.avi"));
System.IO.File.Copy(@"C:\歌曲\宿敌.avi", destPath);
System.IO.File.Copy(@"C:\歌曲\宿敌.avi", destPath);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
”Other\doc\“这个路径 需要动态获取还是怎么的?
更多追问追答
追问
静态也可以,主要是想在复制的时候保留原文件的目录结构
追答
那在E:\Test下面,用代码创建Other\doc出这个目录可以么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询