mosquitto_sub.exe -h host-p port -t topic-P password -u username > log_file.txt
通过使用此命令行,所有消息都保存在log_file.txt中,但如何仅将最新消息保存到日志文件中。 据我所知>用于覆盖文件,只在开始时使用它覆盖文本文件,然后开始将所有消息附加到文件中。
答案 0 :(得分:2)
mosquitto_sub有一个命令行选项-C
来控制在现有之前接收的消息数。
mosquitto_sub.exe -h host-p port -t topic -P password -u username -C 1 > log_file.txt
来自mosquitto_sub man页面
<强> -C 强>
在收到给定的消息数后立即断开并退出程序。这在shell脚本中可能很有用 例如,在需要单个状态值的位置。
非常难看的循环:
@echo off
:top:
mosquitto_sub.exe -h host-p port -t topic -P password -u username -C 1 > log_file.txt
goto top
答案 1 :(得分:0)
您可以将命令嵌入到for / f循环中,逐行处理输出,覆盖文件内容
@Echo off
for /f "delims=" %%A in ('
mosquitto_sub.exe -h host -p port -t topic -P password -u username
') Do @Echo(%%A>log_file.txt