パテを制御するために、Windows の下でスクリプトを作成しようとしています。mySession というセッションがあるとします。次を使用してコマンドを送信できます。
plink -load mySession -l myUserName -pw myPassowrd ps -ef
ここで、さまざまなセッションが保存されているとします。このコマンドを実行するためにすべてのセッションのリストをループする方法はありますか?
どうもありがとう
私の知る限り、セッションはレジストリ ( HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
) に保存されます。少なくとも私の環境ではそうです。たとえば、バッチ スクリプトを使用してセッション名にアクセスできます。
@echo OFF
setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions"
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 Files\PuTTY\PLINK.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 Files\PuTTY\PLINK.EXE" -load %%A -l my_user -pw my_password ps -ef
あなたの投稿はほぼ 1 年前のものですが、これがお役に立てば幸いです。コードを改善するためのコメントは大歓迎です。