autorun.inf : 드라이브 레터를 얻는 방법?
문제
이 항목이 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 드라이브를 차별화하십시오.