35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
using Microsoft.Extensions.Logging;
|
|
|
|
namespace File_Folder_Helper.ADO2024.PI4;
|
|
|
|
internal static partial class Helper20241212
|
|
{
|
|
|
|
internal static void Rename(ILogger<Worker> logger, List<string> args)
|
|
{
|
|
string newFile;
|
|
string fileName;
|
|
string newFileName;
|
|
string directoryName;
|
|
string searchPattern = args[2];
|
|
string[] searchPatterns = args[3].Split('|');
|
|
string sourceDirectory = Path.GetFullPath(args[0]);
|
|
string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
|
|
if (files.Length == 0)
|
|
logger.LogError("No files found in {sourceDirectory} with search pattern {searchPattern}", sourceDirectory, searchPattern);
|
|
foreach (string file in files)
|
|
{
|
|
fileName = Path.GetFileName(file);
|
|
directoryName = Path.GetDirectoryName(file) ?? throw new Exception();
|
|
newFileName = fileName;
|
|
foreach (string pattern in searchPatterns)
|
|
newFileName = newFileName.Replace(pattern, "");
|
|
newFile = Path.Combine(directoryName, newFileName);
|
|
if (File.Exists(newFile))
|
|
logger.LogError("File {newFile} already exists", newFile);
|
|
else
|
|
File.Move(file, newFile);
|
|
}
|
|
}
|
|
|
|
} |