Wildcard im Datei-& Ordern-Loop Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Wildcard im Datei-& Ordern-Loop

18 Dec 2019, 00:17

Hallo,

man denke sich folgende Ordnerstruktur
-root
--Dateien
---AA
----1.pdf
----2.pdf
----3.pdf
---AB
----4.pdf
----5.pdf
----6.pdf
---BA
----7.pdf
----8.pdf
----9.pdf

Ich möchte in meiner Schleife alle PDF-Dateien durchlaufen, die in einem Ordner liegen, der mit A beginnt.
Meine Hoffnung war, das man auch im Ordner eine Wildcard vergeben kann:

Loop, Files, root\A*\*.pdf

Leider liefert das nicht das gewünschte Ergebnis (gar keins.)

Was mach ich falsch?
User avatar
haichen
Posts: 631
Joined: 09 Feb 2014, 08:24

Re: Wildcard im Datei-& Ordern-Loop

18 Dec 2019, 01:41

Nach deiner Struktur liegen deine A.. Ordner in Root\Dateien und nicht in Root.
Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Re: Wildcard im Datei-& Ordern-Loop

18 Dec 2019, 01:49

Ja, meine ich. DIe Ordnernamen sind nur Symbolisch. Trotzdem geht es nicht.
User avatar
haichen
Posts: 631
Joined: 09 Feb 2014, 08:24

Re: Wildcard im Datei-& Ordern-Loop  Topic is solved

18 Dec 2019, 02:56

Mehrere Wildcard sind wohl nur im Namensteil erlaubt. Darum brauchst du zwei Schleifen. Hier meine Variante:

Code: Select all

dirs:=[]
loop files, c:\a*,d
   dirs.push(A_LoopFileLongPath) 
; die Schleife findet alle Ordner die mit a anfangen und speichert die Pfade in dem Array dirs

for key, value in dirs
   loop files, %value%\*.chm,rf
      liste .= A_LoopFileLongPath . "`n"
;alle Pfade in dirs werden einzeln nach den Dateien in ihnen durchsucht und in einem String namens liste gespeichert.
 
msgbox, % liste
Das würde auch funktionieren, solange es keine leeren Ordner gibt. Diese werden auch der Liste hinzugefügt.

Code: Select all

loop files, c:\a*,d
      loop files, %A_LoopFileLongPath%\*.txt,f
         liste .= A_LoopFileLongPath . "`n"

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 57 guests