Files
NeoComputers/RenameTemplate.csx
ipz233_vvv 6244e119dd fixes
2025-01-15 14:25:15 +02:00

46 lines
1.4 KiB
C#

public static List<string> FindAllFiles(string directoryPath)
{
return Directory.GetFiles(directoryPath, "*.*", SearchOption.AllDirectories)
.Select(file => Path.GetRelativePath(directoryPath, file))
.ToList();
}
var replacements = new[]
{
//ORDER MATTERS
new { Old = "JavaJumper", New = "CoolDev" } //change mod init class and other places where mod name is in PascalCase
};
var files = FindAllFiles(Directory.GetCurrentDirectory());
foreach(var file in files)
{
if (file.StartsWith("."))
continue;
if (file.EndsWith(".csx"))
continue;
if (file.Contains(".git"))
continue;
if (file.Contains(".gradle"))
continue;
if (file.Contains("build"))
continue;
var fileContent = File.ReadAllText(file);
var oldFile = file.Replace("\\","/");
var newFile = oldFile;
foreach (var replacement in replacements)
{
fileContent = fileContent.Replace(replacement.Old, replacement.New);
newFile = newFile.Replace(replacement.Old.Replace(".","/"), replacement.New.Replace(".","/"));
Console.WriteLine(replacement.Old.Replace(".","/")+" -> "+replacement.New.Replace(".","/"));
}
Console.WriteLine($"Moving \n\t< {oldFile} \n\t> {newFile}");
File.Delete(oldFile);
Directory.CreateDirectory(Path.GetDirectoryName(newFile));
File.WriteAllText(newFile,fileContent);
}