他们使用针对思科的PuTTY批处理在cmd.txt文件中键入多个命令的方式

问题描述 投票:1回答:1

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

for /L %%n in (1,1,5) do (
SET z=Site%%n%
start c:\Users\emrpocadmin\desktop\putty.exe -ssh IPAddress -l User -pw Password -m c:\Users\emrpocadmin\desktop\cmds.txt -load Site%%n% 
)

此批次应加载PuTTY中预定义的变量配置文件(n从1到5),并在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文件中输入两个或多个命令,应将其一一传递给会话,然后将整个输出结果保存到输出文件中。

batch-file ssh command putty cisco
1个回答
1
投票

实际上是Cisco的一个已知限制,它不支持SSH“ exec”通道命令中的多个命令。

PuTTY / Plink手册的引用部分3.8.3.6 -m: read a remote command or script from a file

对于某些服务器(尤其是Unix系统),您甚至可以在该文件中放入多行并依次执行多个命令或整个Shell脚本;但这可以说是一种滥用,并且不能期望它在所有服务器上都能正常工作。 尤其是众所周知,[[not与某些“嵌入式”服务器,例如Cisco路由器一起使用。


-m与输入重定向一起使用可以解决此问题(无论如何,您都不应该使用PuTTY来自动执行命令)。>>

Plink (PuTTY command-line connection tool)

© www.soinside.com 2019 - 2024. All rights reserved.