oli472

Mehrere Dateien Umbenennen und in Ordner verschieben

Hallo zusammen

Ich habe in einem Ordner mehrere Dateien nach dem Schema:

abc-123_text.jpg

Diese sollen in einen neu zu erstellenden Ordner verschoben werden nach dem Schema:

abc123/text.jpg

Wie kann ich das mit einer Batch Datei lösen, dass ich das auch in anderen Ordnern ausführen kann?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 397734

Url: https://administrator.de/forum/mehrere-dateien-umbenennen-und-in-ordner-verschieben-397734.html

Ausgedruckt am: 02.05.2025 um 00:05 Uhr

137846
137846 10.01.2019 um 11:29:30 Uhr
Goto Top
@echo off &setlocal
set "ordner=D:\Daten"  
for %%a in ("%ordner%\*.jpg") do (  
    for /f "tokens=1,2 delims=_" %%b in ("%%~na") do (  
        md "%ordner%\%%b" >nul 2>&1  
        move "%%a" "%ordner%\%%b\%%c%%~xa"  
    )
)
Gruß A.
Oli472
Oli472 10.01.2019 um 11:53:45 Uhr
Goto Top
Super, vielen Dank, jetzt muss nur noch im Ordnernamen der Bindestrich raus.Kann man das auch machen?
137846
Lösung 137846 10.01.2019 um 12:06:42 Uhr
Goto Top
@echo off &setlocal ENABLEDELAYEDEXPANSION
set "ordner=D:\Daten"  
for %%a in ("%ordner%\*.jpg") do (  
    for /f "tokens=1,2 delims=_" %%b in ("%%~na") do (  
        set "name=%%b"  
        set "target=%ordner%\!name:-=!"  
        md "!target!" >nul 2>&1  
        move "%%a" "!target!\%%c%%~xa"  
    )
)
Oli472
Oli472 10.01.2019 um 12:37:32 Uhr
Goto Top
Vielen herzlichen Dank. Das erfüllt exakt was ich brauche!
137846
137846 10.01.2019 aktualisiert um 12:51:21 Uhr
Goto Top
Dann bitte auch nicht Wie kann ich einen Beitrag als gelöst markieren? vergessen.
Oli472
Oli472 10.01.2019 um 12:54:07 Uhr
Goto Top
Hab nochmal was Kleines

Kann man da ne Info Anzeigen lassen was die Batch Datei macht und dann Ausführen Ja oder Nein?
137846
Lösung 137846 10.01.2019 aktualisiert um 12:56:58 Uhr
Goto Top
Darfst du jetzt selbst mit folgenden Infos ein Kinderspiel und du lernst auch noch was:
choice
oder
set /p
77559
77559 11.01.2019 um 11:54:38 Uhr
Goto Top
Falls "text" noch mehr Unterstriche/Ausrufezeichen enthalten sollte,
würde ich weitere tokens mit einem abschließenden "*" unterbinden.

Ganz ohne DelayedExpansion:

@echo off
set "ordner=D:\Daten"  
for %%a in ("%ordner%\*.jpg") do (  
    for /f "tokens=1-2* delims=_-" %%b in ("%%~nxa") do (  
        md "%ordner%\%%b%%c" >nul 2>&1  
        move "%%a" "%ordner%\%%b%%c\%%d"  
    )
)


Gruß
LotPings