我意识到查询很简单,互联网上有很多类似的主题,但由于某种原因,我无法完成这项工作,我已经走到了尽头。
这就是场景。批处理脚本将(使用 putty 链接)连接到主机。它将执行一个命令(如检查主机版本)。该脚本会将输出带到一个文件中。
到目前为止,我能够配置其中的大部分内容——我的脚本使用一个池——包含 IP 的源文件,以读取它需要连接到的主机;它连接到主机;执行检查版本命令并将结果保存到文件中。但是,结果格式错误,我无法在输出文件中显示我想看到的格式。
这是我的代码:
: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”。
谢谢!