created-date-offset (Day-Helper-2025-08-03)
P and J drives
This commit is contained in:
48
ADO2025/PI6/Helper-2025-08-03.cs
Normal file
48
ADO2025/PI6/Helper-2025-08-03.cs
Normal file
@ -0,0 +1,48 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace File_Folder_Helper.ADO2025.PI6;
|
||||
|
||||
internal static partial class Helper20250803 {
|
||||
|
||||
internal static void CreatedDateOffset(ILogger<Worker> logger, List<string> args) {
|
||||
logger.LogInformation(args[0]);
|
||||
logger.LogInformation(args[1]);
|
||||
logger.LogInformation(args[2]);
|
||||
logger.LogInformation(args[3]);
|
||||
logger.LogInformation(args[4]);
|
||||
logger.LogInformation(args[5]);
|
||||
int years = int.Parse(args[3]) * -1;
|
||||
if (args[4] != "Years") {
|
||||
throw new NotImplementedException($"{args[4]} != Days");
|
||||
}
|
||||
string checkFile;
|
||||
FileInfo fileInfo;
|
||||
DateTime dateTime;
|
||||
string searchPattern = args[2];
|
||||
string fileNameWithoutExtension;
|
||||
string fileNameWithoutExtensionOut;
|
||||
string sourceDirectory = Path.GetFullPath(args[0].Split('~')[0]);
|
||||
string destinationDirectory = Path.GetFullPath(args[5].Split('~')[0]);
|
||||
if (!Directory.Exists(destinationDirectory)) {
|
||||
_ = Directory.CreateDirectory(destinationDirectory);
|
||||
}
|
||||
string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
|
||||
foreach (string file in files) {
|
||||
fileInfo = new(file);
|
||||
fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileInfo.FullName);
|
||||
fileNameWithoutExtensionOut = fileNameWithoutExtension[^1] == '9' ?
|
||||
$"{fileNameWithoutExtension[..^1]}7" :
|
||||
fileNameWithoutExtension[^1] == '1' ?
|
||||
$"{fileNameWithoutExtension[..^1]}3" :
|
||||
fileNameWithoutExtension;
|
||||
checkFile = Path.Combine(destinationDirectory, $"{fileNameWithoutExtensionOut}{fileInfo.Extension}");
|
||||
if (File.Exists(checkFile)) {
|
||||
logger.LogWarning("<{file}> already exists!", checkFile);
|
||||
continue;
|
||||
}
|
||||
File.Copy(file, checkFile);
|
||||
dateTime = new DateTime(fileInfo.LastWriteTime.Year + years, fileInfo.LastWriteTime.Month, fileInfo.LastWriteTime.Day, fileInfo.LastWriteTime.Hour, fileInfo.LastWriteTime.Minute, fileInfo.LastWriteTime.Second);
|
||||
File.SetCreationTime(checkFile, dateTime);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user