2

パテを制御するために、Windows の下でスクリプトを作成しようとしています。mySession というセッションがあるとします。次を使用してコマンドを送信できます。

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

ここで、さまざまなセッションが保存されているとします。このコマンドを実行するためにすべてのセッションのリストをループする方法はありますか?

どうもありがとう

4

1 に答える 1

2

私の知る限り、セッションはレジストリ ( 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 年前のものですが、これがお役に立てば幸いです。コードを改善するためのコメントは大歓迎です。

于 2012-05-15T09:15:13.137 に答える