Das script agiert dabei als 'ausgelagerte' registry für Dateizuordnungen. HTH
Code: Select all
#SingleInstance, Force
assoc := {"xlsx" :"excel.com"
,"txt" :"notepad.exe"
,"bmp" :"paint.exe"
,"ahk" : A_AHKPath
,"ini" :"C:\_MyPrograms\Notepad2\Notepad2.exe"}
F12:: ; Mit Betätigung der F12-Taste, nach der Selektion von Dateien im Windows Explorer..
clipboard:=""
Send +{F10}p ; Aufruf des Kontextmenüs mit der Option "als Pfad kopieren". Kopieren der ausgewählten Dateipfade
ClipWait ; ..in die Zwischenablage
files := StrReplace(clipboard,"""","") ; entfernt alle Anführungszeichen aus den (multiplen) Pfadangaben
file := StrSplit(files,"`n","`r") ; (multiple) Pfade in array transferieren
Loop % file.Count() ; einzelne Pfade prozessieren
{ SplitPath,% file[A_Index],,, ext ; liefert die ext (z.B. 'ahk') aus dem Dateipfad
Run % !(assoc[ext]="") ; wenn Dateiendung gefunden wurde..
? assoc[ext] . " """ . file[A_Index] . """" ; Dateipfad aufrufen (ausführende Anwendung wird aus array ermittelt), ansonsten..
: """" . file[A_Index] . """" ; Dateipfad aufrufen (das OS bestimmt die ausführende Anwendung)
}
Return