it-swarm.com.de

Verknüpfen Sie die Dateierweiterungen programmgesteuert mit der Anwendung unter Windows

Ich habe gerade Windows neu installiert und beim Einrichten meiner Umgebung festgestellt, dass alle meine Verknüpfungen für die verschiedenen Programmiersprachen, die ich in Notepad ++ bearbeite, (natürlich) verschwunden sind.

Ich denke für die Zukunft, wäre es nicht großartig, eine Art Batch-Datei zu haben, die auf Knopfdruck automatisch eine Auswahl von Dateierweiterungen mit N ++ verknüpft, anstatt zu warten, bis ich dann auf all diese Erweiterungen stoße Gehe durch das Rigmarol des Navigierens zur N ++ - Exe usw.

Ich kann dies nicht mit dem Default Programs-Dienstprogramm tun, das mit Windows 7 geliefert wird, da es nur mit Erweiterungen funktioniert, die "angetroffen" wurden.

Ist es also möglich, Dateierweiterungen programmgesteuert mit Anwendungen unter Windows zu verknüpfen?

42
deed02392

Verwenden Sie Ftype & Assoc, um dies zu beheben (und es ist skriptfähig).

Verwenden Sie Assoc, um den Dateityp abzurufen

>Assoc .txt

gibt Ihnen:

.txt = txtfile

Dann

>Ftype txtfile=C:\Program Files (x86)\Notepad++\notepad++.exe %1

Sobald Sie den Dateityp kennen, können Sie ihn mit Ftype einer Aktion zuordnen.

Dies würde für .php-Dateien funktionieren (einfach in eine Batch-Datei kopieren)

Assoc .php=phpfile
Ftype phpfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1

Und Sie können diese Zeilen kopieren, um andere textbasierte Dateien hinzuzufügen, wie Sie möchten.

60
uSlackr

Hier ist ein Skript, das unter Windows 10 funktioniert hat

[email protected]("txt","log","csproj","sql","xml","flobble")
echo "## setting up file associations"
foreach ($ext in $exts){
    $extfile=$ext+"file"
    $dotext="." + $ext
    cmd /c assoc $dotext=$extfile
    cmd /c "ftype $extfile=""C:\Program Files (x86)\Notepad++\notepad++.exe"" %1"
    echo ""
}
  • Muss in einem Administrator-Powershell-Fenster (mit erhöhten Rechten) ausgeführt werden.
  • Der Explorer wurde sofort aktualisiert und zeigte neue Dateisymbole.

https://Gist.github.com/timabell/bc90e0808ec1cda173ca09225a16e194

Dank den anderen Antworten für die Informationen, die ich brauchte, um diese Arbeit zu machen.

4
Tim Abell

Sie müssen mindestens einen Registrierungsschlüssel erstellen, der Notepad ++ eine ID und einen Pfad gibt, und dann einen für jede Erweiterung, die Sie registrieren möchten, um sie zu verwenden.

So erstellen Sie die ID und den Pfad (überprüfen Sie, ob der Pfad auf den richtigen Speicherort verweist):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\notepad_pp]
@=""

[HKEY_CLASSES_ROOT\notepad_pp\Shell]

[HKEY_CLASSES_ROOT\notepad_pp\Shell\open]

[HKEY_CLASSES_ROOT\notepad_pp\Shell\open\command]
@="\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"%1\""

und wiederhole dann das nächste Bit, eines für jede Erweiterung (in diesem Beispiel ist .pl für Perl):

[HKEY_CLASSES_ROOT\.pl]
@="notepad_pp"

Speichern Sie diese Datei mit der Erweiterung .reg und Sie sollten nun in der Lage sein, alle Erweiterungen neu zuzuordnen, indem Sie einfach auf diese Datei doppelklicken und bestätigen, dass Sie die Einträge in die Registrierung importieren möchten.

2
Richard