Wie benenne ich mehrere Dateien um, indem ich einen bestimmten Namen und Leerzeichen entferne und eine eindeutige Zeichenfolge hinzufüge?

Wie benenne ich mehrere Dateien um, indem ich einen bestimmten Namen und Leerzeichen entferne und eine eindeutige Zeichenfolge hinzufüge?

Ich habeNAnzahl der Dateien, die ich umbenennen möchte, indem ich einen bestimmten Namen und Leerzeichen entferne und eine eindeutige Zeichenfolge mit dem neuen Namen hinzufüge:

Z.B

"MPKL 100055.jpg" 
"MPKL 200452.jpg" 
"MPKL 500002_thumb.jpg"

Ich möchte die obigen Dateien wie folgt umbenennen:

"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"

Vor der bestehenden Nummer müssen zwei Nullen stehen.

Antwort1

Im folgenden Beispiel habe ich einFÜR /FSchleife zum Setzen von Trennzeichen und Tokens, Parsen von Dateinamenteilen und Verwenden dieser zum Setzen von Variablen für die spätere Verwendung mit demRENBefehl. Ich habe auch denSetlocal EnableDelayedExpansionum die Erweiterung der in der Schleife gesetzten Variablen entsprechend zu handhaben, damit sie mit dem Umbenennungsbefehl pro Iteration innerhalb der Schleife richtig verwendet werden können (nicht zur Laufzeit analysiert werden).

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*.jpg"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!.!part3!" "00!part2!.!part3!"
)
GOTO EOF

Weitere Ressourcen

Antwort2

Ich benenne Dateien oft um und finde es sehr praktisch,Dienstprogramm zur Massenumbenennung. Es ist kostenlos. Sie können Dateien und Ordner in Ordnern und/oder Unterordnern auf viele Arten umbenennen, einschließlich der Änderung der Erweiterungen.

Antwort3

@echo off

Setlocal enabledelayedexpansion

Set "Pattern=MPKL" 

Set "Replace=00"

For %%# in ("FOLDER_PATH/*.jpg") Do (

    Set "File=%%~nx#"

    Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"


)

Pause&Exit

verwandte Informationen