首页 > 解决方案 > 编写脚本以使用 PuTTY 通过串行连接执行一系列命令

问题描述

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

putty.exe -load "test"

并且终端看起来就像我通过 GUI 一样。然后,我想在 PuTTY 终端中运行一系列命令,这些命令提供了我需要的输出数据。例如,假设我需要运行的命令是:

DT
UH
SS
TF

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

标签: windowscommand-lineserial-portputty

解决方案


PuTTY 不是自动化的正确工具,请使用 Plink:
Automating command/script execution using PuTTY

您只需要知道在类似 Plink 的命令或与-mPlink 常用的开关(-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

另请参阅使用 Plink 通过串行连接在设备上执行命令

(这是 GUI PuTTY 无法做到的,因此对于这种方法,Plink 是可行的方法)。


推荐阅读