windows - 编写脚本以使用 PuTTY 通过串行连接执行一系列命令
问题描述
我有一个 RFID 阅读器,我需要通过串行端口连接(串行到 USB)定期下载数据。我一直在使用 PuTTY 连接到阅读器。我在 PuTTY 中为读者保存了一个包含所有正确参数的会话,并将其命名为“test”。我还在日志记录下使用了“所有会话输出” ,以便将输出存储在一个文件中。我通过 Windows 10 命令行访问会话,如下所示:
putty.exe -load "test"
并且终端看起来就像我通过 GUI 一样。然后,我想在 PuTTY 终端中运行一系列命令,这些命令提供了我需要的输出数据。例如,假设我需要运行的命令是:
DT
UH
SS
TF
我想以某种方式自动化这个过程,这样每次我连接到阅读器时都会运行相同的命令。可以在 PuTTY 中编写脚本来执行此操作,还是可以将这些命令从命令行发送到 PuTTY?有人可以演示如何做到这一点吗?
解决方案
PuTTY 不是自动化的正确工具,请使用 Plink:
Automating command/script execution using PuTTY
您只需要知道在类似 Plink 的命令或与-m
Plink 常用的开关(-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 是可行的方法)。
推荐阅读
- ruby-on-rails - 如何按“相关日期”排序?
- google-apps-script - 发送电子邮件 - 保持单元格格式
- php - 用于命令应用程序处理数据的微框架,无论是 php 还是 python?
- php - 有没有办法在 Laravel 5.7 的表单上请求数据类型或文本标签?
- python - 调用python脚本
- encryption - 使用 C# 进行 AES 加密的密文长度是多少?
- web-crawler - Webcrawler 在 RapidMiner 9.2 中不起作用,知道为什么吗?
- javascript - reactjs:在渲染中使用`if else`
- javascript - 通过多个步骤处理多个 Promise
- angular - 离子滑卡水平