Suchen & Umbenennen von Dateinamen mit Powershell
Erläuterung
// Suchen & Umbenennen von Dateinamen mit Powershell //
Dieses Skript sucht nach einem gewünschten Begriff in Dateinamen und entfernt / umbenennt diesen, falls der „Ersetzen“ auf $True gesetzt wurde, um. Steht „Ersetzen“ auf $False (default) dann werden nur nach den Dateinamen die den Begriff beinhalten gesucht und es wird keine Änderung durchgeführt.
Skript
# # Autor: Jan Weis # Version: 0.1 # www.it-explorations.de # #requires -Version 3 param ( [Parameter(Mandatory = $true)][String]$RootVerzeichnis = 'C:\Test', [Parameter(Mandatory = $true)][String]$SuchenNach = 'Log', [String]$ErsetzenDurch = 'LOgFF', [Switch]$Ersetzen ) ForEach ($File in (Get-ChildItem -Path $RootVerzeichnis -Recurse -File | Where-Object -FilterScript { $_.Name -like "*$SuchenNach*" } )) { try { $Dateiname = ($File.Name).ToString() $Dateiname = $Dateiname.Replace($SuchenNach,$ErsetzenDurch) if ($Ersetzen) { Write-Host -Object "> Umbenennen: $($File.BaseName) " -NoNewline Rename-Item -Path ($File.FullName) -NewName $Dateiname Write-Host -Object 'OK!' -ForegroundColor Green } else { Write-Host -Object "> Nur Suchen: $($File.BaseName)" } } catch { "Error was $_" $line = $_.InvocationInfo.ScriptLineNumber "Error was in Line $line" } }