PuTTY命令行自动化串口命令从文件中

7

我正在尝试连接串行端口并从文件发送一系列命令。

首先,我已经通过以下方式成功连接:

PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N

例如,我有一个名为commands.txt的文件,其中包含一系列要发送的串行命令。

然而,我尝试了以下方法,但它没有成功:

PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N -m commands.txt

非常感谢任何帮助。


你有没有找到合适的答案? - Jeremy
如果你遇到类似的问题,@Jeremy Sachadee的答案应该能解决。 - Fields
2个回答

4
试试这样做:
for /f "delims=" %%a in ('type commands.txt') do PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N -m %%a

“commands.txt”文件应包含实际命令所在的文件路径列表。 - F.I.V

1

我曾用另一种方法定期向设备发送命令,它结合了PuTTYAutohotkey

对于初始设置,请配置一个PuTTY会话并保存。在我的情况下,我将其命名为Oasis。

以下的Autohotkey函数可以向已打开的PuTTY会话发送命令。如果PuTTY没有打开,它将启动已保存的会话。oasis_putty_name()是打开后的PuTTY窗口的名称,这将取决于所选的COM端口。location_putty()是PuTTY可执行文件的位置。两者都可以硬编码,但我想保持变量与函数分离。

; Oasis Check --------------------------------------------------
oasis_check(){
putty_name := oasis_putty_name()

; Start PuTTY if it's not already running
IfWinNotExist, %putty_name%
{
    putty := location_putty()
    Run %putty% -load Oasis

    Sleep,1000
}

; Format Time Stamp
FormatTime, TimeString,,yyyy-MM-dd HH-mm-ss

; Record Oasis Values
ControlSend, , %TimeString%{ENTER}, %putty_name%
Sleep, 2000
ControlSend, , all?{ENTER}, %putty_name%
}

执行频率可以通过另一个Autohotkey脚本或者像我一样使用Windows任务管理器来控制。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接