2012-04-03 16 views
2

Ich versuche, ein Python-Skript über die Befehlszeile in Windows 7 auszuführen, aber der Interpreter scheint alle Argumente der Empfehlungszeile zu ignorieren. Es ist nicht so, wenn ich den Befehl alsPython-Befehlszeilenargumente ignoriert für Standardbenutzer (Win 7)

python C:\PathToScript\script.py arg1 

laufen oder wenn ich das Terminal mit Administratorrechten starten. Es funktionierte normal, bis ich Python (2.7.2) neu installieren musste, also habe ich es wahrscheinlich geschafft, eine Dateizuordnung für Standardbenutzer zu brechen. Die Lösungen in Python Command Line Arguments (Windows) nicht für mich arbeiten, da der Registrierungseintrag ist bereits mit% * ein:

Key Name:   HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command 
Class Name:  <NO CLASS> 
Last Write Time: 3/04/2012 - 14:19 
Value 0 
    Name:   <NO NAME> 
    Type:   REG_SZ 
    Data:   "C:\Python27\python.exe" "%1" %* 

Es ist kein großes Problem, aber ich habe gerade daran gewöhnt, verschieben + in einem Verzeichnis klicken und Öffnen eines Terminals dort, während ich jetzt eine erhöhte cmd Aufforderung ausführen muss, geben Sie den Namen und das Kennwort des Administratorkontos ein und navigieren Sie zum richtigen Ordner, um das Skript ordnungsgemäß auszuführen. Weiß jemand, wo ich diese benutzerspezifische Dateizuordnung finden kann oder ob es eine andere Möglichkeit gibt, dies zu lösen?

+0

Können Sie einen Registrierungsdump von 'HKCR \ Applications \ python.exe' posten? Ist dies auch eine systemweite Installation oder benutzer-lokal? Möglicherweise überschattet ein benutzerspezifischer Registrierungseintrag die systemweite Konfiguration. –

+0

Sicher, hier ist der Registrierungsdump: http://pastebin.com/f64UHjE7. Es ist eine systemweite Installation (beide Installationen waren systemweit). – lackodan

+0

Sind Sie auf einer 64-Bit-Installation? Die Registrierung ist auf diesen Systemen dupliziert, es gibt einen für 64-Bit-Prozesse und einen für WOW64 (32-Bit). Explorer ist 64-Bit, vielleicht haben Sie den falschen Eintrag bearbeitet. Wie hast du Regedit angefangen? –

Antwort

0

Ich würde vermuten, dass Sie das Skript von einer Art der Verknüpfung ausführen, da die Konsole nicht beteiligt ist. Es kann sein, dass die Verknüpfung Parameter hatte, während dies nicht der Fall ist, und Sie sollten nur diejenigen im Abschnitt Programm der Eigenschaften für die Verknüpfung erneut bereitstellen.

Verwandte Themen