Bitte entschuldigen Sie eine Noob-Frage, aber diese Frage hat mich völlig verblüfft.
Ich habe ein "Einzahler" -Verzeichnis, in dem vom Benutzer eingereichte Dateien eintreffen, und habe keine Kontrolle über die eingehenden Dateinamen.
Ich habe in PS einen Parser erstellt, der Dateien (basierend auf dem Inhalt des Dateinamens) recht erfolgreich an ein geeignetes Ziel verschiebt.
Dies funktioniert einwandfrei, AUSSER wenn ein Dateiname entweder "[" oder "]" enthält.
Hier ist der Vorprozessor "Umbenennen", der eine Datei mit einem der lästigen Klammerzeichen nicht umbenennt:
cd $folderpath
foreach ($i in get-childitem $folderpath) {
if ($i.mode.substring(0,1) -ne “d”) {
$name = $i.name.replace("[","_")
$name = $name.replace("]","_")
Write-Host $i -foregroundcolor “blue”
Write-Host $name -foregroundcolor “green”
Rename-Item $i $name
}
}
Dies schlägt auch für ren, copy, move und ihre Cmdlet-Entsprechungen fehl
Jeder Einblick, den Sie möglicherweise gewähren können, wäre sehr willkommen.
Danke im Voraus . . .