Vseen 发表于 2008-8-26 00:30

如何将文件夹移动至不同的根(分卷)?

如题……怎么解决?C# WinForm

麻烦高手帮忙……
万分感谢!

移动文件夹:d:\AAA(含N个子文件、子文件夹);

目标文件夹:C:\aaa

难道我用最蠢的方法?
在C:\aaa\下创建AAA文件夹,再将AAA里的文件、文件夹批量移动(File.Move)?

wzg0319 发表于 2008-8-26 08:50

兩種方法..
一.用dos命令拷內整個文件夾
二.用 file類操作
/// <summary>
    /// 文件夹复制
    /// </summary>
    /// <param name="sourceDirName">原始路径</param>
    /// <param name="destDirName">目标路径</param>
    /// <returns></returns>
    public static void Copy(string sourceDirName, string destDirName)
    {
        if (sourceDirName.Substring(sourceDirName.Length - 1) != "\\")
        {
            sourceDirName = sourceDirName + "\\";
        }
        if (destDirName.Substring(destDirName.Length - 1) != "\\")
        {
            destDirName = destDirName + "\\";
        }

        if (Directory.Exists(sourceDirName))
        {
            if(!Directory.Exists(destDirName))
            {
                Directory.CreateDirectory(destDirName);
            }
            foreach (string item in Directory.GetFiles(sourceDirName))
            {
                File.Copy(item,destDirName+Path.GetFileName(item),true);
            }
            foreach (string item in Directory.GetDirectories(sourceDirName))
            {
                Copy(item, destDirName + item.Substring(item.LastIndexOf("\\")+ 1));
            }
        }
    }

bygg 发表于 2008-8-26 11:30

LS的每二种方法,是用的递归.如果子文件夹层数大于10,就会相当的慢,而且使电脑很慢.....呵呵.所以递归要慎用.

页: [1]

编程论坛