コード例 #1
0
        private void Recurse(int FolderId, string CurrentDirectory)
        { 

            // Create Child Docs
            List<int> ChildDocs = dir.ChildDocumentIds(FolderId);
            foreach (int docId in ChildDocs)
            { 
                // Create a Folder
                if (!Directory.Exists(CurrentDirectory + doc.DocumentName(docId)) {Directory.CreateDirectory(CurrentDirectory + doc.DocumentName(docId));}

                // Get Image Paths
                List<string> ImgPaths = doc.ImagePaths(docId);

                // Move Images
                foreach (string ImgPath in ImgPaths)
                {
                    File.Copy(ImgPath, CurrentDirectory + doc.DocumentName(docId) + "\\" + ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1)); 
                }
            }
      

            // Create Child Folders
            List<int> ChildFolders = dir.ChildFolderIds(FolderId);
            foreach (int fid in ChildFolders)
            {
                if (!Directory.Exists(CurrentDirectory + dir.FolderName(fid))) { Directory.CreateDirectory(CurrentDirectory + dir.FolderName(fid)); }
                Recurse(fid, CurrentDirectory + dir.FolderName(fid) + "\\");
            }


        }
コード例 #2
0
        private void Export()
        {
            string DestinationRootDir = tbxDestinationRoot.Text;
            
            // Make sure last char is a backslash
            if (DestinationRootDir.Substring(DestinationRootDir.Length - 1) != "\\") { DestinationRootDir = DestinationRootDir + '\\';  }

            // Get name of root folder    
            string RootFolderName = dir.FolderName(1);

            // Create root folder inside location provided by user
            if (!Directory.Exists(DestinationRootDir + RootFolderName)) { Directory.CreateDirectory(DestinationRootDir + RootFolderName); }

            // Create Child Docs
            List<int> ChildDocs = dir.ChildDocumentIds(1);
            foreach (int docId in ChildDocs)
            { 
                // Create a Folder
                if (!Directory.Exists(DestinationRootDir + RootFolderName + "\\" + doc.DocumentName(docId)) {Directory.CreateDirectory(DestinationRootDir + RootFolderName + "\\" + doc.DocumentName(docId));}

                // Get Image Paths
                List<string> ImgPaths = doc.ImagePaths(docId);

                // Move Images
                foreach (string ImgPath in ImgPaths)
                {
                    File.Copy(ImgPath, DestinationRootDir + RootFolderName + "\\" + doc.DocumentName(docId) + "\\" + ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1));
                }
            }
            
            // Create Child Folders
            List<int> ChildFolders = dir.ChildFolderIds(1);
            foreach (int fid in ChildFolders)
            {
                if (!Directory.Exists(DestinationRootDir + RootFolderName + "\\" + dir.FolderName(fid))) { Directory.CreateDirectory(DestinationRootDir + RootFolderName + "\\" + dir.FolderName(fid)); }
                Recurse(0, DestinationRootDir + RootFolderName + "\\" + dir.FolderName(fid) + "\\");
            }

        }