比如: 我要把D盘的user文件夹覆盖E盘的 user文件夹, 如果E盘的user文件夹里面含有D盘user文件夹相同内容,他就覆盖不了,相反的是D盘user文件夹内容是空的或者没有没有E盘的user文件夹同内容,他就能覆盖掉了是怎么回事? 代码如下:请高手帮忙看下
private void CopyDirectory(string srcdir, string desdir)
{ try
{
string folderName = srcdir.Substring(srcdir.LastIndexOf("\\") + 1); string desfolderdir = desdir + "\\" + folderName; if (desdir.LastIndexOf("\\") == (desdir.Length - 1))
{
desfolderdir = desdir + folderName;
}
string[] filenames = Directory.GetFileSystemEntries(srcdir); foreach (string file in filenames)// 遍历所有的文件和目录
{
if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
{ string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir);
} CopyDirectory(file, desfolderdir);
} else // 否则直接copy文件
{
string srcfileName = file.Substring(file.LastIndexOf("\\") + 1); srcfileName = desfolderdir + "\\" + srcfileName;
if (!Directory.Exists(desfolderdir))
{
Directory.CreateDirectory(desfolderdir);
}
File.Copy(file, srcfileName);
}
}//foreach
}
catch (Exception ex)
{
// MessageBox.Show("该文件已存在!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return;
}
private void CopyDirectory(string srcdir, string desdir)
{ try
{
string folderName = srcdir.Substring(srcdir.LastIndexOf("\\") + 1); string desfolderdir = desdir + "\\" + folderName; if (desdir.LastIndexOf("\\") == (desdir.Length - 1))
{
desfolderdir = desdir + folderName;
}
string[] filenames = Directory.GetFileSystemEntries(srcdir); foreach (string file in filenames)// 遍历所有的文件和目录
{
if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
{ string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir);
} CopyDirectory(file, desfolderdir);
} else // 否则直接copy文件
{
string srcfileName = file.Substring(file.LastIndexOf("\\") + 1); srcfileName = desfolderdir + "\\" + srcfileName;
if (!Directory.Exists(desfolderdir))
{
Directory.CreateDirectory(desfolderdir);
}
File.Copy(file, srcfileName);
}
}//foreach
}
catch (Exception ex)
{
// MessageBox.Show("该文件已存在!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return;
}
解决方案 »
- 用mouseclick事件在picturebox获取的坐标不准确??
- C#单实例程序参数传递问题
- 看到一个软件数据使用slt后缀的文件保存,这是什么?怎么打开
- @#@#@#@#@#@求助:拖拽过程中CURSOR变化问题@#@#@#@#@#@
- DataGrid表中单条记录绑定到文本框的问题!
- 问下C#如何打印网页上指定的图片
- webform如何根据首页选择来使用不同的数据库
- C#web应用程序,如何实现使用期限设置(在线等)
- 怎样将string类型转化为int?
- 什么实现listbox的选中项的清除啊。
- A Question about DevExpress GridControl TableView
- 关于1 Bit Audio Player不能播放的问题,都说好用的播放器, 大家一定要看
也就是说没有覆盖掉.