使用Putty Batch对Cisco键入cmd.txt文件中的多个命令的方法



我使用putty.exe命令在Windows环境中运行批处理文件:

for /L %%n in (1,1,5) do (
SET z=Site%%n%
start c:Usersemrpocadmindesktopputty.exe -ssh IPAddress -l User -pw Password -m c:Usersemrpocadmindesktopcmds.txt -load Site%%n% 
)

此批次应加载变量配置文件(n从1到5(在Putty中预定义,并一一逐一地在cmds.txt文件中定义的命令;然后将输出保存到某些文件夹。

但是,在cmds.txt文件中,我只能输入一个命令!

如何在此TXT文件上输入多个命令,并应将其传递给会话,然后将整个输出结果保存到输出文件中?

我尝试在以下格式上输入cmds.txt文件上的命令,但不起作用:

show run                 (work as one command only)
show run; show version   (does not work)
"show run; show version" (does not work)
echo show run
echo show version        (does not work)

预期的结果是在cmds.txt文件中输入两个或多个命令,应将其传递给会话,然后将整个输出结果保存到输出文件中。

实际上是Cisco的已知限制,它不支持SSH" Exec" Channel命令中的多个命令。

引用第3.8.3.6节-m:从Putty/Plink手册文件中读取远程命令或脚本:

使用某些服务器(尤其是UNIX系统(,您甚至可以在此文件中放置多行,并按顺序执行多个命令或整个Shell脚本;但这可以说是一种滥用,不能指望在所有服务器上使用。特别是,与某些"嵌入式"服务器(例如Cisco Routers(一起使用不知道


使用输入重定向使用PLINK(PUTTY命令行连接工具(可以解决该问题(无论如何您不应使用Putty来自动执行命令(。

plink.exe -ssh IPAddress -l User -pw Password -load Site%%n% < cmds.txt

最新更新