frankkai

Per Batch Dateinamen auslesen und abändern

Hallo zusammen,

und zwar will ich per Batch entsprechend viele Dateien umbenennen. Diesen sollen dann "Kundennummer_Timestamp" o.ä. heißen.
Da ich leider noch nicht so der Profi in der Batch-Programmierung bin, wollte ich mir hier Hilfe suchen.

Bislang sieht meine Batch so aus:

@echo off & setlocal DisableDelayedExpansion

cd C:\Users\frankkai\Desktop\Test

for %%i in ("*.pdf") do (
pdftotext.exe -f 1 "%%~i" "pdf.txt"
set "customerNumber="
set "file=%%~i"

for /f "usebackq skip=9 tokens=3" %%a in ("pdf.txt") do (
if not defined customerNumber set /a "customerNumber=%%a"
)
setlocal EnableDelayedExpansion
ren "!file!" "!customerNumber!_%date%-%time:~0,2%%time:~3,2%%time:~6,2%.pdf"
del /s pdf.txt
endlocal
)

Das Auslesen und umbenennen der Dateien funktioniert auch. Allerdings funktioniert es nur einmal pro Kundennummer.
Hier müsste man vielleicht noch mit if exist prüfen und mit einem counter hochzählen, falls eine Datei mit der Kundennummer schon vorliegt?

Bitte um Hilfe bzw. Denkanstöße face-smile

Vielen lieben Dank.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 396004

Url: https://administrator.de/forum/per-batch-dateinamen-auslesen-und-abaendern-396004.html

Ausgedruckt am: 02.05.2025 um 12:05 Uhr