如何使用命令提示符(CMD)中的自动登录在 PuTTY 中运行大型命令文件?

如何使用命令提示符(CMD)中的自动登录在 PuTTY 中运行大型命令文件?

我在 CMD 中使用以下命令远程打开 Putty(使用 centos 6)并执行保存在计算机中的文件 command.txt 中的命令。

putty.exe root@ip port -pw password -t -m commands.txt

然而,只有当commands.txt文件大小约为5kb时它才有效。

如果有人能帮忙的话,请问两个问题:

a) 问题 1:我应该怎么做才能运行更大的 command.txt 文件?

b)问题 2:在 CMD 中,如果我使用 3 个不同的命令文件执行 3 个命令行,比如“commands1.txt”、“commands2.txt”和“commands3.txt”,然后将下面的所有作业粘贴到 CMD 中,它将同时打开 3 个 putty 并同时执行所有操作。

putty.exe root@ip port -pw password -t -m commands1.txt
putty.exe root@ip port -pw password -t -m commands2.txt
putty.exe root@ip port -pw password -t -m commands3.txt

如何让 CMD 按精确的顺序执行而不是同时打开所有内容?

这是,将打开服务器,执行

putty.exe root@ip port -pw password -t -m commands1.txt

只有当 finish 时才会执行

putty.exe root@ip port -pw password -t -m commands2.txt

并且只有当 finish 时才会执行

putty.exe root@ip port -pw password -t -m commands3.txt

怎么做才能让它不同时完成所有 3 项工作,而是按照我放置的顺序一个接一个地完成?

答案1

命令大小限制是由服务器施加的,而不是 PuTTY 限制。


一种解决方案是将文件上传到服务器(例如使用psftppscp),授予其x权限,然后使用PuTTY 执行它。


虽然自动执行命令的正确工具是PLink(来自 PuTTY 包)

Plink 是一个控制台应用程序,因此它可以从标准输入读取命令。这样,就没有限制了,因为命令是逐个读取和执行的(就像在 shell 中输入命令一样):

plink -P port username@host < command.txt

相关内容