Beispiel #1
0
        public Subsystem <Node> WalkDirectoryTree(DirectoryInfo root) => () =>
        {
            var files       = root.GetFiles("*.*");
            var subDirs     = root.GetDirectories("*.*");
            var filesNodes  = files.Select(x => new Node(x)).ToSeq();
            var subDirNodes = subDirs
                              .Select(x => WalkDirectoryTree(x)().Value)
                              .ToSeq();

            return(Out <Node> .FromValue(new Node(root, subDirNodes + filesNodes)));
        };
Beispiel #2
0
 public Subsystem <Node> FullRename(string dir, Config config) => () =>
 {
     if (config.ReplaceList.Count() == 0)
     {
         return(WalkDirectoryTree(new DirectoryInfo(dir))());
     }
     else
     {
         fs.RenameAll(dir, config.ReplaceList, false);
         return(WalkDirectoryTree(new DirectoryInfo(dir))());
     }
 };