实现一个文件复制到另一个文件夹的操作,并删除当前文件的内容,保留父目录
class Program
{
static void Main(string[] args)
{
string Path1 ="D:\\cs\\28";
string Path2 ="D:\\cs\\29";
Move(Path1,Path2);
Console.ReadKey();
}
public static void Move(string sourcepath,string desirpath)
{
string s =sourcepath;
//如果源目录不存在,则创建该目录
if (!Directory.Exists(sourcepath))
{
Console.WriteLine("父目录不存在");
}
if(!Directory.Exists(desirpath)){
Console.WriteLine("源目录不存在");
}
if (Directory.Exists(sourcepath))
{
DirectoryInfo info = new DirectoryInfo(sourcepath);
FileInfo[] oldFiles = info.GetFiles();
DirectoryInfo[] oldDire = info.GetDirectories();//获取当前目录的文件夹
try
{
if (oldFiles.Length > 0)
{
for (int i = 0; i < oldFiles.Length; i++)
{
string source = sourcepath + "\\" + oldFiles[i].Name;
string desir = desirpath + "\\" + oldFiles[i].Name;
File.Copy(source, desir,true);
}
}
if (oldDire.Length > 0)
{
for (int i = 0; i < oldDire.Length; i++)
{
//Console.WriteLine();
Directory.CreateDirectory(desirpath+"/"+oldDire[i].Name);
Move(sourcepath + "\\" + oldDire[i].Name, desirpath + "\\" +oldDire[i].Name);
}
}
}
catch (Exception e){
Console.WriteLine("存在同名文件");
}
}
DirectoryInfo dir = new DirectoryInfo(s);
dir.Delete(true);
Directory.CreateDirectory(s);
}
}