クエリは単純で、インターネット上には同様のトピックがたくさんあることに気付きましたが、何らかの理由でこれを機能させることができず、私は最後にいます。
これがシナリオです。バッチ スクリプトは (パテ リンクを使用して) ホストに接続します。コマンドを実行します(ホストバージョンの確認など)。スクリプトは出力をファイルに取り込みます。
これまでのところ、ほとんどの構成を行うことができました - 私のスクリプトはプールを使用します - IP を保持するソースファイルで、接続する必要があるホストを読み取ります。ホストに接続します。check version コマンドを実行し、結果をファイルに保存します。ただし、結果の形式が正しくなく、出力ファイルで見たい形式にすることができません。
これは私のコードです:
:Var
set out=E:\output.txt
set src=E:\servers.txt
set ver=cat /etc/*-release
set creds=-l root -pw root
set host=hostname
:Cond
for /f %%i in (%src%) do call :Cmd %%i
:Cmd
plink -ssh %1 %creds% %host%
plink -ssh %1 %creds% %ver%
echo %1 is %ver% >> %out%
結果は次のようになります。
server01Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
server02Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
したがって、次のように適切にフォーマットしたいと思います。
server01 OS:Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
server02 OS:Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
または、ホストで実行されたコマンドの出力を切り捨てて、たとえば「Red Hat」のようにその一部のみを表示することもできます。
ありがとうございました!