AutoHotkey: Automatische Verzeichnis-spezifische Konfiguration / Aktionen
Dieses Script veranlasst Autohotkey in bestimmten Abständen zu prüfen, welches das aktuelle Verzeichnis im Total Commander ist und auf Grund dieser Information benutzerspezifische Befehle auszuführen. Diese Befehle können wie auch immer geartet sein, beginnend beim Sortieren nach Datum über Einschalten einer benutzerdefinierten Ansicht bis hin zum Start eines Mediaplayers.
Der erste Teil des Scripts definiert die Häufigkeit, mit der Autohotkey den Pfad des aktiven Fensters vom Total Commander überprüft. Standardeinstellung sind 1000 Millisekunden (1 Sekunde). Geringere Werte erhöhen dei Reaktionsgeschwindigkeit, aber sie können auch den Total Commander erheblich bremsen, wenn man gerade durch ein Verzeichnis navigiert. Größere Werte führen dazu, das es länger dauert, bis der Befehl ausgeführt wird.
Setze folgendes an den Anfang des Scripts:
#Persistent SetTimer, TCDirSpecificActions, 1000 return
Der zweite Teil des Scripts legt fest, welche Aktion zu welchen Verzeichnissen gehört und am Ende wird der "Standardbefehl" festgelegt, also was passieren soll, wenn man sich in keinem der "besonderen" Vereichnisse befindet.
Bringe dies iregndwo im Script unter:
TCDirSpecificActions: IfWinActive, ahk_class TTOTAL_CMD { WinGetText, Text, A Loop, Parse, Text, `n { If A_Index = 3 { StringTrimRight, Dir, A_LoopField, 2 Break } } If Dir <> %PreviousDir% { ; Dies ist der erste Abschnitt ; In der Zeile unter dem Kommentar wird festgelegt, ; welches Verzeichnis die Aktion dieses Abschnitts auslöst. ; (Verzeichnisnamen mit Leerzeichen müssen ohne ; Anführungszeichen angegeben werden) If Dir = c:\Music { ; Der Wert "271" entspricht dem internen Befehl ; activiere Benutzerdefinierte Ansicht #1 ; (diese Werte entsprechen denen in der totalcmd.inc) PostMessage, 1075, 271 PreviousDir = %Dir% return } ; Dies ist der zweite Abschnitt ; Wenn Befehle/Aktionen rekursivIf ausgeführt werden sollen, ; zum Beispiel für "c:\Images und Fotos" und alle Unterverzeichnisse ; benutze das IfInString-Format IfInString, Dir, c:\Images and Photos { ; Der Wert "272" entspricht aktiviere Benutzerdef. Ansicht #2 PostMessage, 1075, 272 PreviousDir = %Dir% return } ; Dies ist der dritte Abschnitt If Dir = c:\Downloads { ; Wert "272" = nach Datum sortieren PostMessage, 1075, 324 PreviousDir = %Dir% return } ; Dies ist der STANDARD Abschnitt ; Hier müssen alle Befehle eingefügt werden, die nötig ; sind, um zur normalen Ansicht zurückzukehren If PreviousDir <> DEFAULT { ; Aktiviere die Kurzansicht PostMessage, 1075, 301 ; Sortiere nach Name PostMessage, 1075, 321 PreviousDir = DEFAULT } } } return
Zurück zu AutoHotkey