当前位置:编程学习 > C#/ASP.NET >>

c#开发 移动文件目录的代码

1.使用 Directory.Move() 方法
您可以使用移动整个目录 Directory 类从 System.IO 命名空间。这 Directory.Move() 方法常用于将目录及其内容移动到指定位置。下面的例子展示了 Directory.Move() 通过移动指定目录的方法 srcDir 到指定的目录 destDir.


using System;
using System.IO;
 
public class Program
{
    public static void Main()
    {
        string srcDir = @"C:\source";
        string destDir = @"C:\destination";
 
        Directory.Move(srcDir, destDir);
    }
}

 
请注意,源目录或目标目录可以是相对的或绝对的。这 Directory.Move() 方法抛出 IOException 如果目标目录已经存在,并且 DirectoryNotFoundException 如果找不到源或目标路径。您可以按如下所示处理它们:


using System;
using System.IO;
 
public class Program
{
    public static void Main()
    {
        string srcDir = @"C:\source";
        string destDir = @"C:\destination";
 
        try {
            if (Directory.Exists(srcDir) && !Directory.Exists(destDir)) {
                Directory.Move(srcDir, destDir);
            }
            else {
                Console.WriteLine("Either directory is invalid, or destination already exists.");
            }
        } catch (Exception ex) {
            // 处理其他异常
        }
    }
}
 
如果目标文件夹已经存在,您可能想要删除它。以下示例将目录的内容复制到新位置,该位置可以是现有目录:


using System;
using System.IO;
 
public class Program
{
    public static void Main()
    {
        string srcDir = @"C:\source";
        string destDir = @"C:\destination";
 
        try {
            if (Directory.Exists(srcDir))
            {
                if (Directory.Exists(destDir)) {
                    Directory.Delete(destDir, true);
                }
                Directory.Move(srcDir, destDir);
            }
            else {
                Console.WriteLine("The directory does not exists.");
            }
        } catch (Exception ex) {
            // 处理其他异常
        }
    }
}

2.使用 DirectoryInfo.MoveTo() 方法
另一种选择是使用 DirectoryInfo.MoveTo() 移动方法 DirectoryInfo 实例及其内容到新路径。以下示例演示了使用 DirectoryInfo 班级。


using System;
using System.IO;
 
public class Program
{
    public static void Main()
    {
        string srcDir = @"C:\source";
        string destDir = @"C:\destination";
 
        DirectoryInfo di = new DirectoryInfo(srcDir);
        di.MoveTo(destDir);
    }
}
 
为避免出现任何异常,您可以确保指定的源路径 srcDir 存在并且目标路径由 destDir 不存在。如果目标目录存在,请在移动前删除其中的所有文件和子目录。


using System;
using System.IO;
 
public class Program
{
    public static void Main()
    {
        string srcDir = @"C:\source";
        string destDir = @"C:\destination";
 
        try {
            DirectoryInfo sourceDi = new DirectoryInfo(srcDir);
            if (Directory.Exists(srcDir))
            {
                if (Directory.Exists(destDir))
                {
                    DirectoryInfo destDi = new DirectoryInfo(destDir);
                    destDi.Delete(true);
                }
 
                sourceDi.MoveTo(destDir);
            }
            else {
                Console.WriteLine("The directory does not exists.");
            }
        } catch (Exception ex) {
            // 处理其他异常
        }    
    }
}

这就是将目录移动到 C# 中的另一个位置
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,