Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            // How to iterate through a directory tree
            RecursiveFileSearch.Run();
            StackBasedIteration.Run(@"C:\SAJ");

            FileSysInfo.Run();
            CreateFileOrFolder.Run();
            SimpleFileCopy.Run();
            SimpleFileMove.Run();
            SimpleFileDelete.Run();
            WriteTextFile.Run();
            ReadFromFile.Run();
            // How to create a key in the registry
            RegistryTest.Run();
        }
Exemplo n.º 2
0
        public Task <List <FileSysInfo> > LsOrDir(string path)
        {
            DirectoryInfo directory = new DirectoryInfo(path);

            if (directory.Exists)
            {
                var files = directory.GetFileSystemInfos();

                List <FileSysInfo> res = new List <FileSysInfo>();

                foreach (var item in files)
                {
                    FileSysInfo fileSysInfo = new FileSysInfo()
                    {
                        fileType       = item is FileInfo ? FileType.File : FileType.Dir,
                        Name           = item.Name,
                        FullName       = item.FullName,
                        CreateTime     = item.CreationTime,
                        LastAccessTime = item.LastAccessTime,
                        LastWriteTime  = item.LastWriteTime,
                        Length         = item is FileInfo wr ? wr.Length : 0
                    };

                    res.Add(fileSysInfo);
                }

                res.Sort((a, b) =>
                {
                    if (a.fileType == b.fileType)
                    {
                        return(0);
                    }
                    else if (a.fileType == FileType.Dir)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(1);
                    }
                });

                FileSysInfo current = new FileSysInfo()
                {
                    fileType       = FileType.Dir,
                    Name           = ".",
                    FullName       = directory.FullName,
                    CreateTime     = directory.CreationTime,
                    LastAccessTime = directory.LastAccessTime,
                    LastWriteTime  = directory.LastWriteTime,
                    Length         = 0
                };

                res.Insert(0, current);

                if (directory.Parent != null)
                {
                    FileSysInfo parent = new FileSysInfo()
                    {
                        fileType       = FileType.Dir,
                        Name           = "..",
                        FullName       = directory.Parent.FullName,
                        CreateTime     = directory.Parent.CreationTime,
                        LastAccessTime = directory.Parent.LastAccessTime,
                        LastWriteTime  = directory.Parent.LastWriteTime,
                        Length         = 0
                    };

                    res.Insert(1, parent);
                }

                return(Task.FromResult(res));
            }
            else
            {
                return(null);
            }
        }
        public static object fileSys_GetData(HttpRequest request, AjaxGetDataHandlerEventArgs args)
        {
            ArrayList files = new ArrayList();
            try
            {
                string serverPath = System.Web.HttpContext.Current.Server.MapPath("~");
                string parentPath = args.ParentRow == null ? "" : (string)args.ParentRow["ParentPath"];
                string curPath = args.ParentRow == null ? "" : (string)args.ParentRow["label"];
                DirectoryInfo di = new DirectoryInfo(Cmn.pathCombine(serverPath, parentPath, curPath));
                if (di.Exists)
                {
                    string parentName = di.FullName;
                    parentName = di.FullName.Substring(serverPath.Length);
                    foreach (DirectoryInfo cdi in di.GetDirectories())
                    {
                        FileSysInfo fs = new FileSysInfo(parentName, cdi.Name, true);
                        if (string.Compare(cdi.Name, "App_Themes", true) == 0 || string.Compare(curPath, "App_Themes", true) == 0)
                            fs.Icon = "images/theme.png";
                        files.Add(fs);
                    }
                    foreach (FileInfo cfi in di.GetFiles())
                    {
                        FileSysInfo fs = new FileSysInfo(parentName, cfi.Name, false);
                        if (File.Exists(Cmn.pathCombine(serverPath, "images", cfi.Extension.Substring(1) + ".png")))
                            fs.Icon = "images/" + cfi.Extension.Substring(1) + ".png";

                        files.Add(fs);
                    }
                }
            }
            catch (Exception e)
            {
                FileSysInfo fs = new FileSysInfo("", e.ToString(), false);
                files.Add(fs);
            }
            return files;
        }