Ось клас реєстру, який видалить ssh: // і трейлінг (насправді, весь) / з URI, перш ніж передати його PuTTY, щоб PuTTY міг його безпосередньо відкрити:
На кожного користувача:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CURRENT_USER\Software\Classes\ssh\shell]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
І для всіх в системі:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
Змініть шлях до файлу, виходячи зі своїх потреб.
/ V: ON - те саме, що "SetLocal EnableDelayedExpansion"
/ c виконує команду
Я встановлюю параметри до параметра, який є 'ssh: //domain.tld/'. Потім я знімаю 'ssh: //' з нього за допомогою '! Params: ssh: // =!', Що є знахідкою-заміною для 'ssh: //' to '' у змінних парам. Я повертаю це до парам, тепер params = 'domain.tld /'. Потім я передаю це на шпаклівку і роблю іншу знахідку-заміну, щоб замінити '/' на '', щоб видалити кінцеву косу рису, яку ставить Windows, залишаючи "domain.tld", яку може використовувати PuTTY.
Це дозволяє мені обробити це все в команді, введеній у запис реєстру. Це взагалі не робить санітарно-гігієнічні засоби і легко експлуатується (напр. Ssh: // && блокнот відкриває блокнот), тому ви можете змінити URI на те, що ви тільки знаєте.
PowerShell
команди. Ось ви йдете.