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