使用 PuTTY 编写脚本以通过串行连接执行一系列命令

Writing script to perform a series of commands over serial connection with PuTTY

我有一个 RFID reader,我需要通过串行端口连接(串行到 USB)定期从中下载数据。我一直在使用 PuTTY 连接到 reader。我在 PuTTY 中保存了一个会话,其中包含 reader 的所有正确参数,并将其命名为“test”。我还在 Logging 下使用了 "All session output",以便将输出存储在文件中。我通过 Windows 10 命令行访问会话,如下所示:

putty.exe -load "test"

终端的显示就像我通过 GUI 时一样。然后我在 PuTTY 终端中有一系列我想 运行 的命令,它提供了我需要的输出数据。例如,假设我需要 运行 的命令是:

DT
UH
SS
TF

我想以某种方式使这个过程自动化,这样每次我连接到 reader 时,相同的命令都是 运行。是否可以在 PuTTY 中编写脚本来执行此操作,或者是否可以将这些命令从命令行发送到 PuTTY?有人可以演示如何执行此操作吗?

PuTTY 不是适合自动化的工具,请使用 Plink:

您只需要知道在 Plink 上指定命令,类似命令或 Plink 常用的 -m 开关(-m 甚至 PuTTY)仅适用于 SSH 协议。

对于其他协议,尤其是串行连接,您只能使用输入重定向(也包含在我对上面链接问题的回答中),如下所示:

plink.exe -load "my serial connection" < c:\local\path\commands.txt

plink.exe -serial COMx -sercfg 19200,8,n,1,X < c:\local\path\commands.txt

另见

(这是 GUI PuTTY 无法做到的,因此对于这种方法,Plink 是必经之路)。