LookForAbandoned

This commit is contained in:
2023-04-25 20:29:26 -07:00
parent 931f33606d
commit 272ed90c56
14 changed files with 321 additions and 138 deletions

View File

@ -73,7 +73,7 @@ internal abstract partial class XDirectory
List<string>? collection;
string fileNameUpperExtension;
int length = extension.Length;
List<(string, string)> rename = new();
List<string> renameCollection = new();
foreach (string[] files in jsonFilesCollection)
{
foreach (string file in files)
@ -86,17 +86,13 @@ internal abstract partial class XDirectory
{
fileNameUpperExtension = string.Concat(Path.GetFileNameWithoutExtension(fileName), Path.GetExtension(fileName).ToUpper());
if (fileName == fileNameUpperExtension || !fileNamesToFiles.TryGetValue(fileNameUpperExtension, out collection))
rename.Add(new(file, string.Concat(file, ".del")));
renameCollection.Add(file);
}
}
}
foreach ((string from, string to) in rename)
{
if (File.Exists(to))
continue;
File.Move(from, to);
}
return rename.Count;
if (renameCollection.Any())
IDirectory.MoveFiles(renameCollection, "{}", "{abd}");
return renameCollection.Count;
}
private static void IsNotUniqueLoop(string file, List<string> collection)
@ -248,4 +244,33 @@ internal abstract partial class XDirectory
return rename.Count;
}
internal static void MoveFiles(List<string> files, string find, string replace)
{
string checkFile;
string? checkDirectory;
List<string> directories = new();
foreach (string file in files)
{
checkDirectory = Path.GetDirectoryName(file.Replace(find, replace));
if (string.IsNullOrEmpty(checkDirectory) || directories.Contains(checkDirectory))
continue;
directories.Add(checkDirectory);
}
foreach (string directory in directories)
{
if (Directory.Exists(directory))
continue;
_ = Directory.CreateDirectory(directory);
}
foreach (string file in files)
{
if (!File.Exists(file))
continue;
checkFile = file.Replace(find, replace);
if (File.Exists(checkFile))
continue;
File.Move(file, checkFile);
}
}
}