Gibt es eine Möglichkeit, eine Standardanwendung festzulegen, um alle Dateitypen für einen bestimmten Ordner zu öffnen?

396
Sydrik

Ich habe einen bestimmten Ordner mit unterschiedlichen Dateitypen (txt, pdf, docx, irgendetwas ), den ich durch Doppelklick im Datei-Explorer nicht möchte, dass die Standardanwendungen diese Dateien öffnen. Stattdessen möchte ich, dass eine bestimmte Anwendung diese Dateien öffnet, die sich nur in diesem bestimmten Ordner befinden.

Ich erkläre das anders. Angenommen, der Ordner C: \ Test enthält die folgenden Dateien:

  • test.txt
  • manual.pdf
  • plans.docx
  • finanz.xlsx
  • foo.mp4

Wenn diese Dateien in einem anderen Ordner anstelle von C: \ Test gefunden wurden, werden sie von ihren Standardanwendungen geöffnet:

  • test.txt -> Notizblock
  • manual.pdf -> Adobe Reader
  • plans.docx -> Microsoft Word
  • finanz.xlsx -> Microsoft Excel
  • foo.mp4 -> Windows Media Player

Da sich diese Dateien jedoch in C: \ Test befinden, möchte ich, wenn ich sie im Datei-Explorer doppelklicke, alle Dateien mit default_app.exe öffnen:

  • test.txt -> default_app.exe
  • manual.pdf -> default_app.exe
  • plans.docx -> default_app.exe
  • finanz.xlsx -> default_app.exe
  • foo.mp4 -> default_app.exe

Tut mir leid, wenn meine Google-Kenntnisse nicht gut genug sind, aber ich seit einigen Tagen nach Antworten gesucht habe.

0
Es scheint eine globale Einstellung zu sein. Zumindest könnten Sie in diesem Ordner eine Verknüpfung erstellen, z. B. mspaint.exe, und dann einfach Ihre Dateien ziehen und ablegen. Tech-IO vor 6 Jahren 0

2 Antworten auf die Frage

3
CDove

Die kurze Antwort ist nein und Sie möchten nicht, dass es auf andere Weise funktioniert.

In diesem Fall könnte ein einzelnes Programm ganze Ordner auf Ihrem Computer entführen. Dateiberechtigungen würden falsch verwaltet, und das Dateisystem wäre ein fantastisches Ziel für Malware.

Die Wahrscheinlichkeit, dass Ihre eine App alle Dateitypen lesen und für den Benutzer sinnvoll ist, ist unwahrscheinlich.

Sie können die Dateien in einer Datenbank speichern und von Ihrem Programm aus der Datenbank heraus aufrufen lassen, anstatt das Windows-Dateisystem. Alternativ können Sie Ihre App über den Ordner ziehen lassen und die Dateierweiterungen in eine Erweiterung ändern, die nur sie versteht, und diese Zuordnungen in Windows festlegen.

1
Dean Householder

Sie können dies mit einem AutoHotkey-Skript tun.

; This script will intercept double-clicks and if you have double-clicked a file within a pre-defined directory, ; instead of opening the file with the default app, open the file with a custom app instead.  #Persistent #SingleInstance, Force #InstallKeybdHook #HotkeyInterval, 100 #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. SetTitleMatchMode 2 SetWinDelay, 0  WaitTime := DllCall("GetDoubleClickTime") SpecialDir := "C:\Test" ExecWith := "C:\path\to\default_app.exe"  LButton Up:: IfWinActive ahk_exe explorer.exe { PrevClip := ClipBoard If (A_TimeSincePriorHotkey<400) and (A_TimeSincePriorHotkey<>-1) { SendInput, ^c ; Get path to file you double-clicked on Sleep, 50 ; Sleep to give time for clipboard to get contents If FileExist(ClipBoard) { Run %ExecWith% %ClipBoard% } else { SendInput,  } ClipBoard := PrevClip } Else { SendInput,  } } Else { SendInput,  } Return 

Speichern Sie diesen Code einfach in eine Datei namens explorer-double-click.ahk (oder etwas Ähnliches, das auf .ahk endet).

Sie müssen die Werte für SpecialDir und ExecWith (Zeilen 15 und 16) bearbeiten, um die Pfade entsprechend einzustellen.

Sie müssen zuerst AutoHotkey installieren. Dann führe es aus.

Vielen Dank. Ich hätte sagen sollen, dass ich keine Anwendungen oder Skripte von Drittanbietern ausführen möchte. Sydrik vor 6 Jahren 0
In Windows gibt es keine direkte Möglichkeit, dies zu tun. Die einzige Möglichkeit wäre, ein Skript eines Drittanbieters auszuführen. Dean Householder vor 6 Jahren 0