Frage

Ich habe diesen Eintrag in das Kontextmenü von einem USB-Stick über autorun.inf hinzugefügt:

[AutoRun]
shell\pageant=Activate SSH Key
shell\pageant\command=PuTTY\pageant.exe PuTTY\davids.ppk

Sowohl PuTTY\pageant.exe und PuTTY\davids.ppk sind Dateien auf dem USB-Stick und sollen von dort abgeholt werden.

Wenn ich laufe diese in einer Schale aus der Wurzel des Stockes es wie vorgesehen funktioniert. Aber es aus dem Menü startet sie den Schlüssel aus C:\Windows\system32\PuTTY\davids.ppk zu laden versucht (markiert mit Prozess überwachen ).

Der Versuch, eine einfache cmd Skript in dieser Ausgabe führte zu verwenden:

    C:\Windows\system32>cd PuTTY
    Das System kann den angegebenen Pfad nicht finden.

    C:\Windows\system32>pageant.exe davids.ppk
    Der Befehl "pageant.exe" ist entweder falsch geschrieben oder
    konnte nicht gefunden werden.

Gibt es eine Möglichkeit, dies richtig funktioniert? Ich denke, es sollte den Laufwerksbuchstaben passieren oder bekommen den Explorer zu verwenden, um den Stick als Arbeitsverzeichnis der Lage sein, aber ich weiß nicht, wie. Da ich den Stick für unterwegs verwenden möge, würde ich lieber vermeiden meinen lokalen Laufwerksbuchstabe zu.

War es hilfreich?

Lösung

Ich denke, die einfachste Lösung wäre, eine Batch-Datei zu erstellen, dies für Sie tun. Etwas namens activatekey.cmd wie folgt aus:

REM switch to the directory containing this script
for %%a in (%0) do cd /D %%~da%%~pa

cd PuTTY
pageant.exe davids.ppk

Legen Sie die Datei activatekey.cmd in Ihrem USB-Stick, und die autorun.inf ändern werden:

[AutoRun]
shell\pageant=Activate SSH Key
shell\pageant\command=activatekey.cmd

Andere Tipps

Es scheint, es „Path“ Systemvariable liest. :( Sie können das Laufwerk Pfad hinzufügen, aber den Laufwerksbuchstaben immer ist das Problem. :(

Update. 1: Sie können die Laufwerksbuchstabe mit einer VB-Skript erhalten

Update 2: Ja, ich denke, man kann das tun. Sehen Sie sich diese rel="nofollow.

Update 3: Ich habe das Skript getestet. Es funktioniert großartig.

Dim  oDrive
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
For Each oDrive In oFSO.Drives
WScript.Echo "Drive Letter" , oDrive.DriveLetter
WScript.Echo "Drive Type" , oDrive.DriveType
Next

Verwenden Sie einige Datei existance Prüfmethode mehrere USB-Laufwerke differenciate.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top