gpt4 book ai didi

batch-file - 一种在 cmd.txt 文件中使用 PuTTY 批处理对 Cisco 键入多个命令的方法

转载 作者:行者123 更新时间:2023-12-02 14:28:50 27 4
gpt4 key购买 nike

我正在使用下面的 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 文件上输入多个命令,并将其一一传递给 session ,然后将整个输出结果保存到输出文件中?

我尝试在 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 中输入两个或更多命令文件,它应该被一一传递给 session ,然后将整个输出结果保存到输出文件中。

最佳答案

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

报价栏3.8.3.6 -m : read a remote command or script from a file PuTTY/Plink 手册:

With some servers (particularly Unix systems), you can even put multiple lines in this file and execute more than one command in sequence, or a whole shell script; but this is arguably an abuse, and cannot be expected to work on all servers. In particular, it is known not to work with certain ‘embedded’ servers, such as Cisco routers.



使用 Plink (PuTTY command-line connection tool)使用输入重定向可能会解决问题(无论如何,您都不应该使用 PuTTY 来自动执行命令)。
plink.exe -ssh IPAddress -l User -pw Password -load Site%%n% < cmds.txt

关于batch-file - 一种在 cmd.txt 文件中使用 PuTTY 批处理对 Cisco 键入多个命令的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57333997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com