% 1 in der Registrierung wird in Windows 8 nicht erweitert


0

Ich habe ein Tool erstellt, das dem Kontextmenü einige Dinge hinzufügt, wenn Sie mit der rechten Maustaste auf ein Verzeichnis, in den leeren Bereich eines Verzeichnisses oder auf ein Laufwerk klicken. Ich habe dies ausgiebig in Windows XP, Vista und 7 verwendet, aber jetzt, da ich auf Windows 8 aktualisiert habe, habe ich ein Problem mit dem Abrufen des Verzeichnisses, von dem aus der Befehl gestartet wurde.

Eines der Dinge, die ich hinzufüge, ist "Eingabeaufforderung hier", und ich habe dies mit den folgenden in einer INF-Datei erreicht:

HKCR,Directory\Background\Shell\CommandPromptHere\command,,,"""%SystemRoot%\System32\cmd.exe"" /c cmd /s /k ""VER && PUSHD ""%1"""""

Das fügt folgend in einem REG_EXPAND_SZ-Schlüssel hinzu:

"%SystemRoot%\System32\cmd.exe" /c cmd /s /k "VER && PUSHD "%1""

Da dies nicht funktionierte (cmd.exe konnte nicht gefunden werden), habe ich versucht, es durch Folgendes zu ersetzen:

cmd /c cmd /s /k "VER && PUSHD "%1"

In Windows 7, Vista und XP wird "% 1" zu dem Verzeichnis erweitert, auf dessen Hintergrund mit der rechten Maustaste geklickt wurde. In Windows 8 funktioniert es jedoch nicht. Selbst der Versuch, es wieder in die Befehlszeile zu übertragen, scheint nicht zu funktionieren.

Ich kann "% cd%" zum Erweitern bringen, wenn ich "ECHO% cd%" verwende, aber ich kann es scheinbar nicht zum Starten der Eingabeaufforderung verwenden ("PUSHD% cd%" funktioniert nicht).

Hat sich etwas an den Argumenten in Windows 8 geändert? Gibt es einen anderen Grund, warum es nicht funktioniert? Gibt es eine andere Möglichkeit, mit einem Registrierungseintrag eine Eingabeaufforderung im aktuellen Verzeichnis zu starten? Vermisse ich etwas?

Der Code ist hier: https://github.com/Ehryk/ContextMenuTools für weitere Details oder Vorschläge.


Warum nicht einfach Umschalt + Rechtsklick, um "Command Window Here" zu erhalten? Und das "" am Ende Ihres zweiten Beispiels sieht etwas seltsam aus.
ta.speot.is

1) Ich möchte nicht umschalten + Rechtsklick 2) Ich benutze dies, um auch die Git Bash-Eingabeaufforderung, PowerShell-Eingabeaufforderungen, hinzuzufügen und sie als Administratoren zu starten rot für Admin-Eingabeaufforderungen usw. Die doppelten Anführungszeichen werden als einfache Anführungszeichen im Registrierungsschlüssel gerendert.
Ehryk

Ja, aber ich hätte erwartet, dass ich so etwas sehe (im zweiten Beispiel wieder)"%SystemRoot%\System32\cmd.exe" /c cmd /s /k "VER && PUSHD ""%1"""
ta.speot.is

Antworten:


0

Offensichtlich wird% 1 aus irgendeinem Grund nicht aufgefüllt, wenn die Befehle / Background / in Windows 8 wie in Windows 7 verwendet werden.

Ich habe es umgangen mit:

cmd /c cmd /s /k "VER && @cd "%%%CD%%%"

Einsichten darüber, warum sich dies geändert hat, sind sehr willkommen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.