Ejemplo n.º 1
0
        bool PrintDirectory(DiscUtils.DiscDirectoryInfo DirInfo, string Pattern, bool Recurse)
        {
            if (!DirInfo.Exists)
            {
                Console.WriteLine("Unknown Folder {0}", DirInfo.FullName);
                return(false);
            }

            List <DiscUtils.DiscFileSystemInfo> FolderList = new List <DiscUtils.DiscFileSystemInfo>(DirInfo.GetDirectories(Pattern));

            FolderList.AddRange(DirInfo.GetFiles(Pattern));
            FolderList.Sort((LHS, RHS) =>
            {
                return(LHS.Name.CompareTo(RHS.Name));
            });

            Console.WriteLine();
            Console.WriteLine(" Directory of {0}", DirInfo.FullName);
            Console.WriteLine();
            foreach (var Entry in FolderList)
            {
                string Date = Entry.LastWriteTime.ToString("MM/dd/yyyy");
                string Time = Entry.LastWriteTime.ToString("hh:mm tt");
                string Type = "";
                string Size = "";

                if ((Entry.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
                {
                    Type = "<DIR>";
                }
                else
                {
                    DiscUtils.DiscFileInfo FileInfo = (DiscUtils.DiscFileInfo)Entry;
                    Size = FileInfo.Length.ToString("0,0");
                }

                Console.WriteLine("{0}  {1} {2,8} {3,8} {4}", Date, Time, Type, Size, Entry.Name);
            }

            if (Recurse)
            {
                foreach (var Entry in FolderList)
                {
                    if ((Entry.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
                    {
                        if (!PrintDirectory((DiscUtils.DiscDirectoryInfo)Entry, Pattern, true))
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        private static TreeNode CreateDirNode(DiscUtils.DiscDirectoryInfo directoryInfo)
        {
            // create a new node using the passed dir name
            var directoryNode = new TreeNode(directoryInfo.Name);


            foreach (var directory in directoryInfo.GetDirectories())
            {
                //   MessageBox.Show(directory.Attributes.ToString());

                // recursively add
                directoryNode.Nodes.Add(CreateDirNode(directory));
            }

            foreach (var file in directoryInfo.GetFiles())
            {
                directoryNode.Nodes.Add(new TreeNode(file.Name));
            }

            return(directoryNode);
        }