file-folder-helper/Helpers/HelperRenameToOldMoveDeleteOld.cs
Mike Phares 229b508ae1 Dependency Injection Style
AOT Compiling
Switched to Secret from Development json file
Added Kanbn
Humanizer
HelperCreateNoteFiles.CleanExistingFiles
HelperPackageFilesByDate
Added SRP
Helper Hardcoded File Search and Sort
Set Date from Zip Entry
2023-07-08 10:05:52 -07:00

50 lines
1.8 KiB
C#

using Microsoft.Extensions.Logging;
namespace File_Folder_Helper.Helpers;
internal static class HelperRenameToOldMoveDeleteOldMerge
{
internal static void RenameToOldMoveDeleteOld(ILogger log, string argsZero)
{
string checkDirectory = argsZero[0..^1];
if (!Directory.Exists(checkDirectory))
log.LogInformation(string.Concat("<", checkDirectory, "> doesn't exist!"));
else
{
string renameFile;
string destinationFile;
List<string> deleteFiles = new();
string[] moveFiles = Directory.GetFiles(argsZero, "*", SearchOption.TopDirectoryOnly);
log.LogInformation(string.Concat("<", moveFiles.Length, "> to move"));
foreach (string moveFile in moveFiles)
{
destinationFile = string.Concat(checkDirectory, moveFile[argsZero.Length..]);
if (!File.Exists(destinationFile))
File.Move(moveFile, destinationFile);
else
{
renameFile = Path.ChangeExtension(destinationFile, string.Concat(Path.GetExtension(destinationFile), ".old"));
File.Move(destinationFile, renameFile);
File.Move(moveFile, destinationFile);
deleteFiles.Add(renameFile);
}
}
log.LogInformation(string.Concat("<", deleteFiles.Count, "> to delete"));
foreach (string deleteFile in deleteFiles)
{
for (short i = 0; i < short.MaxValue; i++)
{
try
{
File.Delete(deleteFile);
break;
}
catch (Exception) { }
Thread.Sleep(500);
}
}
}
}
}