Dateiname bestimmter Dateien eines Ordners mit Zähler erweitern
Ich möchte die Namen aller Dateien (Typ) in einem Ordner durch einen Zähler erweitern!
Eine Lösung habe ich nach langen basteln. Geht dies auch etwas eleganter?
Die Nummerierung soll 0001 -000x sein. Diese sollte man dann vor oder nach den Dateinamen einfügen können!
(durch Anpassen vom Script)
DANKE kasimodo
Eine Lösung habe ich nach langen basteln. Geht dies auch etwas eleganter?
Die Nummerierung soll 0001 -000x sein. Diese sollte man dann vor oder nach den Dateinamen einfügen können!
(durch Anpassen vom Script)
DANKE kasimodo
@echo on & setlocal
setlocal EnableDelayedExpansion
set Verz=%1
set datTyp=%2
rem zum testen festes verzeichnis .\test und dateityp tif
set "Verz=.\test"
set "datTyp=tif"
rem Anzahl datei in einem verzeichnis
for /f %%i in ('dir %Verz%\*.%datTyp% ^|find "Datei(en)"') do Set DATANZ=%%i
if %DATANZ%!==! goto noFiles
for /l %%i in (1, 1, %DATANZ%) do (
set /A Zaehler=%%i+10000
set erw=!zaehler:~1!
call :make %Verz%\*.%datTyp% !erw!
)
ren %Verz%\*. *.%datTyp%
goto ende
rem ========== make ================
:make
set ext=%2
set neuername=%~n1%
set neuername=%neuername%_%ext%
ren %1 %neuername% 2>nul
goto :eof
rem ======== Ende make =============
:noFiles
echo noFiles
:ende
pause
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115804
Url: https://administrator.de/forum/dateiname-bestimmter-dateien-eines-ordners-mit-zaehler-erweitern-115804.html
Ausgedruckt am: 20.02.2025 um 01:02 Uhr
6 Kommentare
Neuester Kommentar
![77559](/images/members/profile_male_48x48.png)
Hallo kasimodo,
du willst die Anzahl der Dateien eines Typs an den Namen aller dieser Dateien anhängen?
Die Variable ext in der Sub make sollte dann doch besser Count heißen?
Die Bedeutung der For /L Schleife erschließt sich mir nicht so ganz, wenn die mit Zähler 1 durchgelaufen ist, gibt es doch keine Dateien mit der Erweiterung %datTyp% mehr?
Die Zählung kannst du einfacher und von der Sprache unabhängig haben:
Gruß
LotPings
du willst die Anzahl der Dateien eines Typs an den Namen aller dieser Dateien anhängen?
Die Variable ext in der Sub make sollte dann doch besser Count heißen?
Die Bedeutung der For /L Schleife erschließt sich mir nicht so ganz, wenn die mit Zähler 1 durchgelaufen ist, gibt es doch keine Dateien mit der Erweiterung %datTyp% mehr?
Die Zählung kannst du einfacher und von der Sprache unabhängig haben:
for /f %%i in ('dir /B /A-D "%Verz%\*.%datTyp%" ^|find /V /C "" ') do Set DATANZ=%%i
Gruß
LotPings
![77559](/images/members/profile_male_48x48.png)
Zitat von @kasimodo:
Da diese "Konstruktion" nicht so elegant ist, darum die Frage wie man es besser lösen könnte. Meine Lösung um Zähler ist ja auch etwas gewagt -Oder?
Da diese "Konstruktion" nicht so elegant ist, darum die Frage wie man es besser lösen könnte. Meine Lösung um Zähler ist ja auch etwas gewagt -Oder?
Was heißt gewagt, unnötig kompliziert.
So einfach kann es sein:
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
@echo off&setlocal
set Verz=%1
set datTyp=%2
Pushd "%Verz%"
For /f "Tokens=1,* Delims=:" %%i in (
'dir /B /A-D "*.%datTyp%" ^|findstr /N "." '
) do Echo Ren "%%~fj" "%%~nj_%%i%%~xj"
Popd
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
Solange das Echo vor dem Ren steht, wird nur angezeigt was umbenannt würde.
Gruß
LotPings
![77559](/images/members/profile_male_48x48.png)
Fast genauso wie bei deiner Version ![face-wink face-wink](/images/icons/fa/light/face-laugh-wink.svg)
Gute Nacht!
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
@echo off&setlocal EnableDelayedExpansion
set Verz=%1
set datTyp=%2
Pushd "%Verz%"
For /f "Tokens=1,* Delims=:" %%i in (
'dir /B /A-D "*.%datTyp%" ^|findstr /N "." '
) do Set /A "Z=10000+%%i"&Echo Ren "%%~fj" "%%~nj_!Z:~-4!%%~xj"
Popd
:: AppendCounter.cmd ::::::::::::::::::::::::::::::::::::::::::::::::
Gute Nacht!