我正在尝试连接串行端口并从文件发送一系列命令。
首先,我已经通过以下方式成功连接:
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
非常感谢任何帮助。
我正在尝试连接串行端口并从文件发送一系列命令。
首先,我已经通过以下方式成功连接:
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
非常感谢任何帮助。
for /f "delims=" %%a in ('type commands.txt') do PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N -m %%a
我曾用另一种方法定期向设备发送命令,它结合了PuTTY和Autohotkey。
对于初始设置,请配置一个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%
}