Skip to content

Instantly share code, notes, and snippets.

@rmkane
Last active December 11, 2015 00:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rmkane/6fb61a64fabfda724c57 to your computer and use it in GitHub Desktop.
Save rmkane/6fb61a64fabfda724c57 to your computer and use it in GitHub Desktop.
This script creates a shortcut for auto-loading a PPK (key) in Pageant by writing a temporary VB script and executing it.
REM |==================================================================|
REM | Pageant Autoload.bat |
REM | |
REM | This script creates a shortcut for auto-loading a PPK (key) in |
REM | Pageant by writing a temporary VB script and executing it. The |
REM | following information below is added to the shortcut. |
REM | |
REM | Filename : Pageant Autoload |
REM | Target : pageant.exe |
REM | Arguments : id_rsa.ppk |
REM | Start in : ~/.ssh |
REM |==================================================================|
@echo off
SETLOCAL EnableDelayedExpansion
REM |==================================================================|
REM | Global Values - Do not touch these! |
REM |==================================================================|
SET VBScript="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
SET LOG=.\%~N0_runtime.log
SET STARTUP_DIR=Microsoft\Windows\Start Menu\Programs\Startup
SET STARTUP_USER_DIR=%APPDATA%\%STARTUP_DIR%
SET STARTUP_ALL_USERS_DIR=%PROGRAMDATA%\%STARTUP_DIR% REM Alternative
REM |==================================================================|
REM | Shortcut Values - You can change these to whatever you want. |
REM |==================================================================|
SET LinkName=Test Autoload
SET LinkTarget=%PROGRAMFILES(x86)%\PuTTY\pageant.exe
SET LinkArgs=id_rsa.ppk
SET LinkDir=%%USERPROFILE%%\.ssh
SET LinkDesc=Autoload PuTTY key with Pageant on startup (Ctrl+Alt+S)
SET LinkKey=CTRL+ALT+S
REM |==================================================================|
REM | Write a new VB script, on the fly; execute and delete it. |
REM |==================================================================|
SET LinkDest=%%USERPROFILE%%\Scripts\!LinkName!.lnk
((
ECHO Set oWS = WScript.CreateObject^("WScript.Shell"^)
ECHO sLinkFile = oWS.ExpandEnvironmentStrings^("!LinkDest!"^)
ECHO Set oLink = oWS.CreateShortcut^(sLinkFile^)
ECHO oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!LinkTarget!"^)
ECHO oLink.Arguments = "!LinkArgs!"
ECHO oLink.WorkingDirectory = "!LinkDir!"
ECHO oLink.Description = "!LinkDesc!"
ECHO oLink.HotKey = "!LinkKey!"
ECHO oLink.Save
)1>!VBScript!
CScript //nologo !VBScript!
DEL !VBScript! /f /q
)1>>!LOG! 2>>&1
REM |==================================================================|
REM | Pageant Autoload.bat |
REM | |
REM | This script creates a shortcut for auto-loading a PPK (key) in |
REM | Pageant by writing a temporary VB script and executing it. The |
REM | following information below is added to the shortcut. |
REM | |
REM | Filename : Pageant Autoload |
REM | Target : pageant.exe |
REM | Arguments : id_rsa.ppk |
REM | Start in : ~/.ssh |
REM |==================================================================|
@echo off
REM |==================================================================|
REM | Global Values - Do not touch these! |
REM |==================================================================|
SET VBSCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
SET STARTUP_DIR=Microsoft\Windows\Start Menu\Programs\Startup
SET STARTUP_USER_DIR=%APPDATA%\%STARTUP_DIR%
SET STARTUP_ALL_USERS_DIR=%PROGRAMDATA%\%STARTUP_DIR% REM Alternative
REM |==================================================================|
REM | Shortcut Values - You can change these to whatever you want. |
REM |==================================================================|
SET FILENAME=Pageant Autoload.lnk
SET TARGET=%PROGRAMFILES(x86)%\PuTTY\pageant.exe
SET ARGUMENTS=id_rsa.ppk
SET START_IN=%%USERPROFILE%%\.ssh
SET DESCRIPTION=Autoload PuTTY key with Pageant on startup (Ctrl+Alt+S)
SET HOTKEY=CTRL+ALT+S
REM |==================================================================|
REM | Write a new VB script, on the fly; execute and delete it. |
REM |==================================================================|
ECHO Set oWS = WScript.CreateObject("WScript.Shell") >> %VBSCRIPT%
ECHO sLinkFile = "%STARTUP_USER_DIR%\%FILENAME%" >> %VBSCRIPT%
ECHO Set oLink = oWS.CreateShortcut(sLinkFile) >> %VBSCRIPT%
ECHO oLink.TargetPath = "%TARGET%" >> %VBSCRIPT%
ECHO oLink.Arguments = "%ARGUMENTS%" >> %VBSCRIPT%
ECHO oLink.WorkingDirectory = "%START_IN%" >> %VBSCRIPT%
ECHO oLink.Description = "%DESCRIPTION%" >> %VBSCRIPT%
ECHO oLink.HotKey = "%HOTKEY%" >> %VBSCRIPT%
ECHO oLink.Save >> %VBSCRIPT%
CScript //Nologo %VBSCRIPT%
DEL %VBSCRIPT% /f /q
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment