fresh-m
Goto Top

Windows mehrere Unterordner in gleiche Namen umbenennen

Hallo zusammen,


gibt es eine Möglichkeit eine Batch-Datei zu erstellen um Ordner in verschiedenen Ordnern gleicher Struktur in den selben Namen umzubennnen.

Also: Ordner 1
Unterordner 1
Unterordner 2 --> Soll umbenannt werden in z.B. Unterodner 4
Unterordner 3
Ordner 2
Unterordner 1
Unterordner 2 --> Soll auch umbenannt werden in Unterodner 4
Unterordner 3
Ordner 2
Unterordner 1
Unterordner 2 --> Soll auch umbenannt werden in Unterodner 4
Unterordner 3
usw.

Bin ein absoluter newbie. Wäre super wenn jemand mir helfen könnte.

Vielen Dank schonmal im Voraus.

Content-Key: 188931

Url: https://administrator.de/contentid/188931

Printed on: April 26, 2024 at 18:04 o'clock

Member: bastla
bastla Aug 01, 2012 updated at 09:00:44 (UTC)
Goto Top
Hallo fresh-m und willkommen im Forum!

Wenn das für alle Unterordner ("Ordner 1", "Ordner 2", etc) eines Basisordners passieren soll, direkt aus der CMD-Shell etwa so:
for /d %i in ("D:\Basisordner\*") do @echo ren "%i\Unterordner 2" "Unterordner 4" 2>nul
Das "echo" vor dem "ren" sorgt dafür, dass Du gefahrlos testen kannst, da so die Befehle für das Umbenennen nur angezeigt werden - um dann Ernst zu machen, einfach das "echo" weglassen ...
Etwas sauberer (der obige Ansatz würde auch eine Datei mit dem Namen "Unterordner 2" verarbeiten) wäre
for /d %i in ("D:\Basisordner\*") do @if exist "%i\Unterordner 2\" @(echo Bearbeite "%i" & echo ren "%i\Unterordner 2" "Unterordner 4")
[Edit] Noch etwas informativer gestaltet, damit, für den Fall dass ein Umbenennen nicht möglich ist, erkennbar wird, welcher Ordner betroffen war [/Edit]

Grüße
bastla
Member: fresh-m
fresh-m Aug 01, 2012 at 09:07:58 (UTC)
Goto Top
Hallo Bastla,

schönen Dank für die schnelle Antwort.

Kann man das auch als Batch-Datei schreiben, da ich mehrere "Basisordner" habe, so dass ich die Batch-Datei in die jeweiligen Basisordner packe und ausführe?

Schönen Gruß
fresh-m
Member: bastla
bastla Aug 01, 2012 updated at 09:19:38 (UTC)
Goto Top
Hallo fresh-m!

Als Batch einfach jedes "%i" durch "%%i" (und um den aktuellen Ordner zu verwenden, "D:\Basisordner\*" durch *) ersetzen ...

... und wenn eine Liste von Basisordnern abgearbeitet werden soll, ungetestet etwa so:
@echo off & setlocal
for %%b in ("D:\Basisordner 1","E:\Basisordner 2","E:\Basisordner 3\Basisunterordner 1") do (  
    for /d %%i in ("%%~b\*") do if exist "%%i\Unterordner 2\" (  
        echo Bearbeite "%%i"  
        echo ren "%%i\Unterordner 2" "Unterordner 4"  
    )
)
Grüße
bastla
Member: fresh-m
fresh-m Aug 01, 2012 at 09:52:34 (UTC)
Goto Top
Hallo Bastla,


vielen, vielen Dank. Hat alles super geklappt!!

Schönen Gruß
fresh-m
Member: ColdZero89
ColdZero89 Aug 01, 2012 at 10:12:43 (UTC)
Goto Top
Moin,

Beitrag bitte auf gelöst setzen und @bastla: Schön dich zu verfolgen und immer wieder was von dir zu lernen ;)

Gruß zero
Member: bastla
bastla Aug 01, 2012 at 10:16:10 (UTC)
Goto Top
[OT] @ColdZero89
Schön dich zu verfolgen
Du bist das also ... face-wink

Freut mich jedenfalls, wenn's hilft. face-smile

Grüße
bastla
[/OT]