fortlaufende Nummerierung gesucht

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

gero
Posts: 173
Joined: 02 Oct 2013, 05:36

fortlaufende Nummerierung gesucht

20 Apr 2023, 08:22

Hallo zusammen
Ich mal wieder an die Wissenden
Ich suche eine Lösung für ein Nummerierungs-Problem.
Auf meinem DT sammeln sich Dateien im Format:
record_1.mp4 , record_2.mp4 , .... , record_11.mp4 ... usw. an.
Die Nummerierung +1erfolgt per Script; Loop,%A_DeskTop%\record_*.mp4 über den A_Index.
Das klappt halt nur so lange bis ich einige Dateien lösche, dann kommt die Nummerierung ducheinander - klar.
Ich suche eine intelligente Lösung, dass auf jeden Fall hoch gezählt wird ... also, auch wenn nur noch 3 Dateien da sind, die letzte z.B. den Index 11, hat, die nächste eine fortlaufende Nummer bekommt ... hier also 12.
Das ganze soll halt sessionunabhängig sein.

Ich hoffe, ich konnte mich verständlich machen und jemand hat eine Idee.

Danke schon mal vorab fürs Lesen.
gruss
gero

Also ich habe jetzt das hier:

Code: Select all

Loop,%A_DeskTop%\record_*.mp4
    {
    Stringsplit,F,A_LoopFileName,_
    Stringsplit,B,F2,.
    IF (B1 > NH)
       NH:=B1
    }
MsgBox,4096,Info,% NH + 1
... aber da gibts doch bestimmt einen freundlichen "Einzeiler" ... :)
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: fortlaufende Nummerierung gesucht

20 Apr 2023, 15:32

man könnte es noch kürzer und schöner machen, aber auf die schnelle

Code: Select all

arrMax := ""
Loop, Files, %A_Desktop%\record_*.mp4
{
	arr := StrSplit(StrReplace(A_LoopFileName,".mp4"),"_")
	arrMax .= arr[2] . "`n"
}
Sort, arrMax, N R
Maxwert := StrSplit(arrMax,"`n")
NeuerWert := Maxwert[1] + 1
msgbox, % "Sortierung: `n" . arrMax . "`nMaxWert: " . Maxwert[1] . "`nNeuerWert: " . NeuerWert 

return
regards,
AHK_fan :)
https://hr-anwendungen.de
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: fortlaufende Nummerierung gesucht

20 Apr 2023, 15:50

aufgabe an ChatGPT, Erbnis ist zwar müll, aber schön :-D
2023-04-20 22_48_49-Window.png
2023-04-20 22_48_49-Window.png (54.87 KiB) Viewed 666 times
regards,
AHK_fan :)
https://hr-anwendungen.de
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: fortlaufende Nummerierung gesucht

20 Apr 2023, 17:17

Ja mit dem Teil spiele ich auch gelegentlich ... bei FFmpeg-Code ist Der/Die/Das sogar richtig gut ... :D
OT/off

Ich hatte eigentlich auf einen netten RegEx gehofft, der das in einer Zeile wuppt ... bin sicher dass das geht ... nur ich blicke da eben nicht durch ... ;) ... aber danke.

gruss
gero
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: fortlaufende Nummerierung gesucht

21 Apr 2023, 03:29

Ich mache es nun so:

Code: Select all

MODE := "mp4"
Loop,%A_DeskTop%\record_*.%MODE%
    {
    SplitPath,A_LoopFileFullPath, , , , NameOhneErw
    INDEX := RegExReplace(NameOhneErw, "\D")
    IF (INDEX > MAX)
        MAX := INDEX
    }
MsgBox,4096,Info,% "neuer Name: " . "record_" . MAX + 1 . "." . MODE
Weniger Code geht wohl nicht ... :think:
gruss
gero
just me
Posts: 9542
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: fortlaufende Nummerierung gesucht

21 Apr 2023, 07:42

Code: Select all

Mode := "mp4"
Num := 0
Loop, Files, %A_Desktop%\record_*.%Mode%
   Num := RegExMatch(A_LoopFileName, "^.*_(\d+)\..*$", M) ? Max(Num, M1) : Num
MsgBox, %Num%
? ;)
gero
Posts: 173
Joined: 02 Oct 2013, 05:36

Re: fortlaufende Nummerierung gesucht

21 Apr 2023, 08:03

Irgendwann werde ich mich auf meine alten Tage auch noch mit diesem RegEx beschäftigen ... wäre schon genial das zu können ... kompakter, aber eben nicht immer schneller Code..

Danke "just me" ... :D

gruss
gero

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 12 guests