#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
Надеюсь, это поможет, хотя вашему сообщению почти год. Комментарии по улучшению кода приветствуются.