ZipPath and yml
This commit is contained in:
@ -165,14 +165,18 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
|
||||
private void ZipFilesByDate(string sourceDirectory, SearchOption searchOption, string dayFormat)
|
||||
{
|
||||
#nullable enable
|
||||
string key;
|
||||
bool addFile;
|
||||
string? zipPath;
|
||||
string fileName;
|
||||
string[] segments;
|
||||
string[] subFiles;
|
||||
string weekOfYear;
|
||||
FileInfo fileInfo;
|
||||
string zipDirectory;
|
||||
DateTime creationTime;
|
||||
string? directoryName;
|
||||
DateTime lastWriteTime;
|
||||
DateTime nowDateTime = DateTime.Now;
|
||||
Regex regex = new("[a-zA-Z0-9]{1,}");
|
||||
@ -201,7 +205,10 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
foreach (string topDirectory in topDirectories)
|
||||
{
|
||||
keyValuePairs.Clear();
|
||||
directoryName = Path.GetDirectoryName(topDirectory);
|
||||
subFiles = Directory.GetFiles(topDirectory, "*", searchOption);
|
||||
zipPath = string.IsNullOrEmpty(directoryName) ? null : Path.Combine(directoryName, "ZipPath");
|
||||
zipDirectory = zipPath is not null && Directory.Exists(zipPath) ? zipPath : topDirectory;
|
||||
foreach (string subFile in subFiles)
|
||||
{
|
||||
addFile = false;
|
||||
@ -253,12 +260,12 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
}
|
||||
foreach (KeyValuePair<string, List<string>> element in keyValuePairs)
|
||||
{
|
||||
key = Path.Combine(topDirectory, $"{element.Key}.zip");
|
||||
key = Path.Combine(zipDirectory, $"{element.Key}.zip");
|
||||
if (File.Exists(key))
|
||||
{
|
||||
for (short i = 101; i < short.MaxValue; i++)
|
||||
{
|
||||
key = Path.Combine(topDirectory, $"{element.Key}_{i}.zip");
|
||||
key = Path.Combine(zipDirectory, $"{element.Key}_{i}.zip");
|
||||
if (!File.Exists(key))
|
||||
break;
|
||||
}
|
||||
@ -269,18 +276,24 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
_ = zip.CreateEntryFromFile(file, Path.GetFileName(file));
|
||||
File.Delete(file);
|
||||
}
|
||||
if (zipPath is not null && Directory.Exists(zipPath) && !string.IsNullOrEmpty(directoryName))
|
||||
{
|
||||
try
|
||||
{ Directory.SetLastWriteTime(directoryName, DateTime.Now); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
}
|
||||
subFiles = Directory.GetFiles(topDirectory, "*.zip", SearchOption.TopDirectoryOnly);
|
||||
subFiles = Directory.GetFiles(zipDirectory, "*.zip", SearchOption.TopDirectoryOnly);
|
||||
foreach (string subFile in subFiles)
|
||||
{
|
||||
fileName = Path.GetFileNameWithoutExtension(subFile);
|
||||
segments = fileName.Split('_');
|
||||
if (segments.Length > 2)
|
||||
fileName = string.Concat(segments[0], '_', segments[1], '_', segments[2]);
|
||||
if (weeks.ContainsKey(fileName))
|
||||
if (weeks.TryGetValue(fileName, out DateTime value))
|
||||
{
|
||||
try
|
||||
{ File.SetLastWriteTime(subFile, weeks[fileName]); }
|
||||
{ File.SetLastWriteTime(subFile, value); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
}
|
||||
@ -292,6 +305,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
}
|
||||
_Log.Info(topDirectory);
|
||||
}
|
||||
#nullable disable
|
||||
}
|
||||
|
||||
private void ZipFilesByDate()
|
||||
|
Reference in New Issue
Block a user