2016-05-10 13 views
2

[Eingereicht vor zwei Tagen zu Super-User, aber niemand sie antworten konnte, so reposting hier.] LäuftPython-Skript wird nicht aus dem Kontextmenü

Arbeiten auf der Grundlage von this post (und this follow-up post), ich habe ein python-Skript versucht, das Hinzufügen (was ich zu dem Pfad hinzugefügt haben und so weiter, so dass ich es von der Kommandozeile überall im System ausgeführt werden können) in das Kontextmenü, wie folgt aus:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs] 
@="&Get Abstracts" 
"Icon"="%SystemRoot%\\System32\\shell32.dll,71" 

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs\command] 
@="C:\\cmdtools\\get_abs.py" 

jedoch Ich bekomme eine seltsame Fehlermeldung, wenn ich versuche, es auszuführen.

enter image description here

Um klar zu sein, habe ich dieses Skript von der Kommandozeile erfolgreich ausgeführt werden (unter Verwendung von Powershell, falls es wichtig ist) in dem Ordner, in dem ich versuche, es aus dem Kontextmenü ausgeführt werden.

+0

Ich glaube, der 'command' Schlüssel muss auf eine tatsächliche ausführbare Datei, z. '.exe' Datei. Probieren Sie es mit dem Pfad zu Ihrem Python-Interpreter, gefolgt vom Script-Pfad. – kindall

+0

Sie mit einem Leerzeichen dazwischen, mit dem Skriptpfad wie ein Argument? –

+0

Ja, ich denke schon. Vielleicht wäre es einen Versuch wert. Möglicherweise benötigen Sie auch "% 1" für die Datei, die übergeben wird (was am Ende mit einem anderen Leerzeichen davor gehen würde). – kindall

Antwort

3

Python-Skripte sind nicht nativ von Windows ausführbar; Es beschwert sich, dass Sie keine .exe Datei angegeben haben. Das ist einfach, Sie geben einfach python.exe an. Folgen Sie dem Pfad mit Ihrem Skript und dann %1 - dies ist ein Platzhalter für den Pfad zu der angeklickten Datei. Damit Ihr Befehl mit Pfaden mit Leerzeichen in ihnen arbeiten kann, umgeben Sie die %1 mit Anführungszeichen. Dass sie alle zusammen, so erhalten wir:

C:\path\to\python.exe C:\path\to\your\script.py "%1" 

BTW, ein praktisches Werkzeug für die Verwaltung von Kontextmenüs Fast Explorer ist.

+0

Das Skript selbst nimmt keine Argumente (es funktioniert auf alle Dateien in dem Ordner, in dem es ausgeführt wird), also brauche ich nicht "% 1", aber danke, dass du das erwähnt hast. –