문제

이 항목이 USB 스틱의 Menue 컨텍스트에 추가했습니다. autorun.inf:

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

둘 다 PuTTY\pageant.exe 그리고 PuTTY\davids.ppk USB 스틱의 파일이며 거기에서 픽업해야합니다.

내가 스틱의 뿌리에서 쉘로 이것을 실행하면 의도 된대로 작동합니다. 그러나 메뉴에서 시작하여 키를로드하려고합니다. 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.

이것을 제대로 작동시키는 방법이 있습니까? 드라이브 문자를 전달하거나 탐색기가 스틱을 작업 디렉토리로 사용하도록 할 수 있다고 생각하지만 방법을 모르겠습니다. 이동 중에 막대기를 사용하고 싶기 때문에 지역 드라이브 편지를 하드 코딩하는 것을 피하고 싶습니다.

도움이 되었습니까?

해결책

가장 쉬운 솔루션은 배치 파일을 만들어이를 수행하는 것입니다. 이름이 지정된 것 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 USB 스틱에서 변경하십시오 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 드라이브를 차별화하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top