我已经通过autorun.inf
将此条目添加到U盘的上下文菜单中:
[AutoRun] shell\pageant=Activate SSH Key shell\pageant\command=PuTTY\pageant.exe PuTTY\davids.ppk
PuTTY\pageant.exe
和PuTTY\davids.ppk
都是U盘上的文件,应该从那里拿起。
当我从根的棍子里运行这个,它的工作原理。 但是从菜单启动它会尝试从C:\Windows\system32\PuTTY\davids.ppk
(使用进程监视器进行检查)加载密钥。
试图使用一个简单的cmd脚本导致这个输出:
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。
有没有办法让这个工作正常? 我想它应该能够通过驱动器号或获得资源pipe理器使用棒作为工作目录,但我不知道如何。 由于我想在旅途中使用棍子,我宁愿避免硬编码我的本地驱动器号。
我认为最简单的解决方案是创建一个批处理文件为你做这个。 一些名为activatekey.cmd
是这样的:
REM switch to the directory containing this script for %%a in (%0) do cd /D %%~da%%~pa cd PuTTY pageant.exe davids.ppk
将文件activatekey.cmd
放在你的U盘中,把autorun.inf
改为:
[AutoRun] shell\pageant=Activate SSH Key shell\pageant\command=activatekey.cmd
它似乎读取“路径”系统变量。 :(您可以将驱动器添加到路径,但获取驱动器号是问题。:-(
更新1:您可以使用VB脚本获取驱动器号。
更新2:是的,我认为你可以做到这一点。 检查这个页面 。
更新3:我测试了脚本。 它工作很好。
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
使用一些文件存在检查方法来区分多个USB驱动器。