首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

WSS 3.0 请问一上,如果用代码合并两个文件夹

2013-01-05 
WSS 3.0 请教一下,如果用代码合并两个文件夹如何用代码合并两个已经存在的文件夹?使用SPFolder.MoveTo不行

WSS 3.0 请教一下,如果用代码合并两个文件夹
如何用代码合并两个已经存在的文件夹?

使用SPFolder.MoveTo不行,调用完后两个文件夹并没有合并。

谢谢
[解决办法]
那就只能递归遍历转移文件了
[解决办法]
 /// <summary>
        /// 复制文件
        /// </summary>
        /// <param name="file">要复制的文件</param>
        /// <param name="destUrl">目标路径</param>
        private static void AddFile(SPFile sourceFile, string destUrl)
        {
            sourceFile.CopyTo(destUrl + "/" + sourceFile.Name, true);
        }
        /// <summary>
        /// 复制文件夹
        /// </summary>
        /// <param name="sourceFolder">源文件夹</param>
        /// <param name="destUrl">目标路径</param>
        /// <param name="parentFolder">父目录路径</param>
        private static void AddFolder(SPFolder sourceFolder, string destUrl, string parentFolder)
        {
            string folderPath = parentFolder == string.Empty ? sourceFolder.Name : parentFolder + "\" + sourceFolder.Name;

            string destFolderPath = parentFolder == string.Empty ? destUrl + "/" + sourceFolder.Name : destUrl + "/" + folderPath;

            if (!SPContext.Current.Web.GetFolder(destFolderPath).Exists)
            {
                sourceFolder.CopyTo(destFolderPath);
            }
            else
            {
                foreach (SPFile file in sourceFolder.Files)
                {
                    AddFile(file, destFolderPath);
                }

                foreach (SPFolder subFolder in sourceFolder.SubFolders)
                {
                    AddFolder(subFolder, destUrl, folderPath);


                }
            }
        }



调用AddFolder(item.Folder, destUrl, string.Empty);

热点排行