Question

J'ai ajouté cette entrée dans le menu contextuel d'une clé USB via autorun.inf :

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

PuTTY \ pageant.exe et PuTTY \ davids.ppk sont des fichiers sur la clé USB et doivent être récupérés à partir de cet emplacement.

Lorsque je lance ceci dans un shell à partir de la racine du stick, cela fonctionne comme prévu. Mais en le démarrant depuis le menu, il essaie de charger la clé à partir de C: \ Windows \ system32 \ PuTTY \ davids.ppk (vérifié avec Moniteur de processus ).

L'utilisation d'un script cmd simple a donné le résultat suivant:

    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.

Existe-t-il un moyen de faire fonctionner cela correctement? J'imagine qu'il devrait pouvoir transmettre la lettre de lecteur ou permettre à l'explorateur d'utiliser la clé comme répertoire de travail, mais je ne sais pas comment. Étant donné que je souhaite utiliser le stick en déplacement, je préfère éviter de coder en dur la lettre de mon lecteur local.

Était-ce utile?

La solution

Je pense que la solution la plus simple serait de créer un fichier de commandes pour le faire à votre place. Quelque chose s'appelle activatekey.cmd comme ceci:

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

cd PuTTY
pageant.exe davids.ppk

Placez le fichier activatekey.cmd sur votre clé USB, puis remplacez le autorun.inf par:

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

Autres conseils

Il semble qu'il soit lu "" Path" " variable système. :( Vous pouvez ajouter le lecteur au chemin, mais le problème est d’obtenir la lettre de lecteur.: - (

Mise à jour 1: vous pouvez obtenir la lettre de lecteur à l'aide d'un script VB.

Mise à jour 2: Oui, je pense que vous pouvez le faire. Consultez cette page .

Mise à jour 3: j'ai testé le script. Cela fonctionne très bien.

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

Utilisez une méthode de vérification d’existence de fichier pour différencier plusieurs lecteurs USB.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top