получение списка сохраненных сеансов в putty с помощью plink

#putty #plink

#шпаклевка #plink #putty

Вопрос:

Я пытаюсь написать свои скрипты под Windows для управления putty. Допустим, у меня есть сеанс под названием MySession. Я могу отправить ему команду, используя:

 plink -load mySession -l myUserName -pw myPassowrd ps -ef
  

Теперь предположим, что у меня сохранено много разных сеансов. есть ли способ просмотреть список всех моих сеансов, чтобы запустить эту команду?

Большое спасибо

Ответ №1:

Насколько я знаю, сеансы хранятся в реестре ( HKEY_CURRENT_USERSoftwareSimonTathamPuTTYSessions ). По крайней мере, это имеет место в моей среде здесь. Вы могли бы, например, использовать пакетный скрипт для доступа к именам сеансов.

 @echo OFF
setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_CURRENT_USERSoftwareSimonTathamPuTTYSessions"

FOR /F "usebackq" %%A IN (`REG QUERY %KEY_NAME% 2^>nul`) DO (
    FOR /F "tokens=6 delims=" %%B IN ("%%A") DO (
        @echo ON
        "C:Program FilesPuTTYPLINK.EXE" -load %%B -l my_user -pw my_password ps -ef
        @echo OFF
    )
)
  

Раньше я tokens=6 получал только последнюю часть пути ( %%A ). Я не очень хорошо знаком с пакетными сценариями, поэтому я даже не знаю, нужно ли вам setlocal ENABLEEXTENSION .

Если вы знаете имена своих сеансов, вы также можете просто использовать следующую команду:

 FOR %%A IN (session1_name session2_name session3_name) DO "C:Program FilesPuTTYPLINK.EXE" -load %%A -l my_user -pw my_password ps -ef
  

Надеюсь, это поможет, хотя вашему сообщению почти год. Комментарии по улучшению кода приветствуются.