Hallo zusammen,
ich möchte in einem Verzeichnis eine Menge von Dateien umbenennen, da diese zu lange Dateinamen mit Sonderzeichen (#) haben. Hier ein Beispiel: AZ_ZT120_M00178.ZT098 Powermodul Typen.#cibdijs#.csv
Weg 1:
$files = dir "C:\Daten\TestUmbebennen\*.csv"foreach($file in $files){
$newname = $file.Name.Substring(0, $file.Name.IndexOf(".") - 1)
$newname = $newname + $file.Extension
# zum testen
write-host $file.Name" ==> " -NoNewline -ForegroundColor White; write-host $newname -ForegroundColor Green
rename-item $file.FullName $newname
}
Weg 2:
Get-ChildItem -Path C:\Daten\TestUmbebennen *.csv | Rename-Item -NewName {$_.Name.Substring(0, $_.Name.IndexOf(".") - 1) + ".csv"}
Bei jedem Weg ist das Ergebnis das gleiche. Es werden eine Anzahl umbenannt und ein Teil nicht.
Es wird dann diese Fehlermeldung ausgegeben:
rename-item : Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.
Die Dateien haben nicht den gleichen Namen. Also ist eine Doppelung ausgeschlossen.
Was mache ich falsch? Danke.
Viele Grüße
Uwe