Unterordner Leerzeichen durch Unterstrich ersetzen
Guten Morgen zusammen,
ich möchte gerade in einem Verzeichnis unter Windows, die Namen von allen Ordnern ändern indem ich die Leerzeichen mit Unterstrichen ersetze, mein Skript funktioniert aber nicht
Kann mir jemand diesbezüglich helfen?
Vielen Dank!
ich möchte gerade in einem Verzeichnis unter Windows, die Namen von allen Ordnern ändern indem ich die Leerzeichen mit Unterstrichen ersetze, mein Skript funktioniert aber nicht
Kann mir jemand diesbezüglich helfen?
$Files = Get-ChildItem -Path "C:\Users\...\Desktop\testLeer"
Copy-Item $Files.FullName -Destination C:\Users\...\Desktop\test
Set-Location -Path C:\Users\...\Desktop\test
Get-ChildItem -File | %{Rename-Item -NewName ( $_.Name -replace ' ','_' )}
Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5500710084
Url: https://administrator.de/contentid/5500710084
Ausgedruckt am: 23.11.2024 um 13:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
Du möchtest alle Unterordner eines Verzeichnisses umbenennen? oder Dateien? oder beides?
Alle Unterordner in dem Ordner umbenennen:
Alle Unterordner UND deren Unterordner umbenennen:
Alle Dateien in dem Ordner umbenennen:
Alle Dateien im Ordner UND Unterordner umbenennen:
Alle Dateien UND Ordner im Ordner umbenennen:
Alle Dateien UND Ordner im Ordner UND Unterordner umbenennen:
Du möchtest alle Unterordner eines Verzeichnisses umbenennen? oder Dateien? oder beides?
Alle Unterordner in dem Ordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -Directory | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Alle Unterordner UND deren Unterordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -Directory -Recurse | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Alle Dateien in dem Ordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -File | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Alle Dateien im Ordner UND Unterordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -File -Recurse | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Alle Dateien UND Ordner im Ordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Alle Dateien UND Ordner im Ordner UND Unterordner umbenennen:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -Recurse | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
Nur zur Info, die Varianten mit Unterordnern und Dateien werden dann fehlschlagen wenn einer der Oberordner und dann auch eine Datei oder ein Unterordner in diesem Ordner wegen Leerzeichen umbenannt wird. Der Grund, durch die Reihenfolge der Sortierung ändert sich schon der Pfad was dann zum Fehler führt weil der Ordner oberhalb ja inzwischen anders heißt.
Man sollte also zumindest noch eine umgekehrte Sortierung (sort-object) nach der Gesamtpfadlänge/Level vor dem Umbenennen dazwischen schalten.
Etwa so
Gruß Wurstel
Man sollte also zumindest noch eine umgekehrte Sortierung (sort-object) nach der Gesamtpfadlänge/Level vor dem Umbenennen dazwischen schalten.
Etwa so
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -Directory -Recurse | ? Name -match '\s+' | sort {$_.Fullname.length} -Descending | Rename-Item -NewName {$_.Name -replace '\s+','_'}
Gruß Wurstel
Hallo zusammen
ist die Zeile 1 auch notwendig einzugeben?
Ich brauche diesen String damit alle Dateien im Ordner UND deren Unterordner umbenennt werden:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -File -Recurse | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
leider kommt mir eine Fehlermeldung. Sorry für meine blöde Frage, ich bin leider kein Powershell-Spezialist.
Danke und Grüsse
ist die Zeile 1 auch notwendig einzugeben?
Ich brauche diesen String damit alle Dateien im Ordner UND deren Unterordner umbenennt werden:
$folder = "C:\users\xxx\Desktop\testLeer"
Get-ChildItem -Path $folder -File -Recurse | %{Rename-Item -Path $_.FullName -NewName ( $_.Name -replace ' ','_' )}
leider kommt mir eine Fehlermeldung. Sorry für meine blöde Frage, ich bin leider kein Powershell-Spezialist.
Danke und Grüsse
Yeah!! So wie ich es stichprobeartig getestet habe, scheint es funktioniert zu haben.
Ich habe es zuerst es "sortieren" lassen und dann den String mit dem Umbenennen durchlaufen lassen. Fehlermeldung erscheint immer noch, aber das wird daran liegen, dass sich die Pfade ändern respektive die Ordner-Namen.
Ein grosses Dankeschön!
Ich habe es zuerst es "sortieren" lassen und dann den String mit dem Umbenennen durchlaufen lassen. Fehlermeldung erscheint immer noch, aber das wird daran liegen, dass sich die Pfade ändern respektive die Ordner-Namen.
Ein grosses Dankeschön!