Mehrere Dateimuster in 1 Zeile verketten Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Stroker-007
Posts: 135
Joined: 28 Jan 2021, 17:09
Location: Germany

Mehrere Dateimuster in 1 Zeile verketten

07 Jul 2023, 23:29

Wunderschönen guten Morgen!

In DOS kann ich so schreiben:

Code: Select all

cd /D e:\Pfad
dir *.txt *.doc *.xls
[Anweisungen...]
In AHK kann/muß ich - nach meinem jetzigen Wissenstand - so schreiben:

Code: Select all

Loop, Files, e:\Pfad\*.txt
[Anweisungen...]

Loop, Files, e:\Pfad\*.doc
[Anweisungen...]

Loop, Files, e:\Pfad\*.xls
[Anweisungen...]
Beides funktioniert, jedoch dauert es bei AHK deutlich länger, bis alles gescannt und ausgewertet ist.

Code: Select all

;Schön wär´s gewesen:
Loop, Files, e:\Pfad\*.txt . e:\Pfad\*.doc . e:\Pfad\*.xls, R  ; leider Bullshit
[Anweisungen...]
Gibt es bei AHK eine ähnliche Verkettungs-Möglichkeit in 1 Dateimuster-Zeile wie bei DIR?

Grüße, Stroker-007
just me
Posts: 9542
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Mehrere Dateimuster in 1 Zeile verketten  Topic is solved

08 Jul 2023, 03:00

Moin,

nein. Dir bleibt nur:

Code: Select all

Loop, Files, e:\Pfad\*.*
{
   If A_LoopFileExt In doc,txt,xls
   {
      [Anweisungen...]
   }
}
Das sollte schneller sein als drei Schleifen.

Grüße, just me
Stroker-007
Posts: 135
Joined: 28 Jan 2021, 17:09
Location: Germany

Re: Mehrere Dateimuster in 1 Zeile verketten

08 Jul 2023, 13:42

Danke Dir, das funktioniert gut, gefühlt vergleichbar schnell wie global: *.*
Hätt ich ja auch selber draufkommen können, da bin ich wohl noch nicht geübt genug.

Kleine Rückfrage:

Code: Select all

Loop, Files, e:\Pfad\*.*
If A_LoopFileExt In doc,txt,xls
{
   [Anweisungen...]
}
Gibt es nur eine if-Abfrage, dann genügt 1 Klammer. Funktioniert auch so bei mir.
Schachtelklammer, wie in Deinem Beispiel, ist dann nötig, wenn ich mehrere if-Abfragen zu einem einzelnen Loop habe, richtig?
just me
Posts: 9542
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Mehrere Dateimuster in 1 Zeile verketten

09 Jul 2023, 02:23

Moin,

genau genommen: Die äußeren Klammern für den Schleifenblock brauchst Du nur, wenn die Schleife mindestens zwei Anweisungen in getrennten Zeilen bzw. Anweisungsblöcke (If/Loop/usw.) enthält.

Ich setze sie fast immer, weil ich die im Schleifenbock liegende(n) Anweisung(en) immer einrücke und das Ende des Schleifenblocks durch die abschließende Klammer einfach zu erkennen ist. Ich gestalte meinen Code gern so, dass er für mich so übersichtlich wie möglich ist und die Strukturen/Schachtelungen leicht erkennbar sind.

Ich wünsche Dir einen erträglichen Sonntag,
just me
Stroker-007
Posts: 135
Joined: 28 Jan 2021, 17:09
Location: Germany

Re: Mehrere Dateimuster in 1 Zeile verketten

09 Jul 2023, 08:58

Alles klar, danke!

Code: Select all

Sonntag := "dito"
Montag ff :< "Mega Blitz und Donner"  ; kracht hoffentlich nicht zu sehr...
:D :D :D

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 5 guests