E) Everything delete recursive,

Y) Zip file(s) by directory with file,
This commit is contained in:
2023-10-02 18:14:15 -07:00
parent 219fdda4ec
commit 0772ab582c
19 changed files with 199 additions and 376 deletions

View File

@ -79,8 +79,102 @@ internal static class HelperDeleteEmptyDirectories
internal static void DeleteOldLogFilesAndDeleteEmptyDirectories(ILogger<Worker> logger, string rootDirectory)
{
long ticks = DateTime.Now.AddHours(-120).Ticks;
DeleteOldLogFilesAndDeleteEmptyDirectories(logger, ticks, "*.log", rootDirectory);
DeleteOldLogFilesAndDeleteEmptyDirectories(logger, ticks, "*.log.*", rootDirectory);
DeleteOldLogFilesAndDeleteEmptyDirectories(logger, ticks, "*.log*", rootDirectory);
}
internal static void EverythingDeleteRecursive(ILogger<Worker> logger, string rootDirectory)
{
if (!Path.GetFileName(rootDirectory).StartsWith("_ EverythingDeleteRecursive "))
logger.LogInformation("Directory name must start with {<rootDirectory>}", rootDirectory);
else
{
string[] directories2;
string[] directories3;
string[] directories4;
string[] directories5;
bool errorHappened = false;
string[] directories1 = Directory.GetDirectories(rootDirectory, "*", SearchOption.TopDirectoryOnly);
foreach (string directory1 in directories1)
{
directories2 = Directory.GetDirectories(directory1, "*", SearchOption.TopDirectoryOnly);
foreach (string directory2 in directories2)
{
directories3 = Directory.GetDirectories(directory2, "*", SearchOption.TopDirectoryOnly);
foreach (string directory3 in directories3)
{
directories4 = Directory.GetDirectories(directory3, "*", SearchOption.TopDirectoryOnly);
foreach (string directory4 in directories4)
{
directories5 = Directory.GetDirectories(directory4, "*", SearchOption.TopDirectoryOnly);
foreach (string directory5 in directories5)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(directory5));
Directory.Delete(directory5, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
if (!errorHappened)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(directory4));
Directory.Delete(directory4, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
}
if (!errorHappened)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(directory3));
Directory.Delete(directory3, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
}
if (!errorHappened)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(directory2));
Directory.Delete(directory2, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
}
if (!errorHappened)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(directory1));
Directory.Delete(directory1, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
}
if (!errorHappened)
{
try
{
logger.LogInformation("{directoryName}", Path.GetFileName(rootDirectory));
Directory.Delete(rootDirectory, recursive: true);
}
catch (Exception)
{ errorHappened = true; }
}
if (!errorHappened)
logger.LogInformation("Finished");
else
logger.LogInformation("Error(s) occurred");
}
}
}