Powershell ändere mehrere Dateinamen
Heute hatte ich ein Problem bei der Umstellung von generierten Dateinamen auf eine neue Version.
Im konkreten Fall habe ich die Ausgabe-Verzeichnisse von VisualStudio Builds abhängig von der Jahreszahl gemacht, jetzt aber auf die Version von der Verwendeten toolchain umgestellt.
Zum Beispiel project-2017-... -> project-msvc1910...
Jetzt habe ich allerdings schon einige Projekte mit der alten Namensgebung kompiliert. Um jetzt nicht alles händisch zu ändern hab ich ein simples kleines Script für die Powershell geschrieben, das das alles für mich macht:
$Files = Get-ChildItem .\
foreach($File in $Files)
{
$FileName = $File.Name
$FileName = $FileName.Replace("2013", "msvc1800")
$FileName = $FileName.Replace("2015", "msvc1900")
$FileName = $FileName.Replace("2017", "msvc1910")
if($FileName -ne $File.Name)
{
Copy-Item $File.Name $FileName
}
}
Man kann, wie fast alles in der Powershell, in einer Zeile schreiben, aber ich habs gern übersichtlich ;)