获取内容mosquitto_pub

时间:2016-09-21 09:18:51

标签: powershell mosquitto

我有一个工具可以将一些数据记录到文件中。我想拖尾文件并通过mosquitto_pub发送最后一行数据。 我已经使用了powershell“Get-Content”命令而没有成功。 这是我的命令:

Get-Content -Path "C:\test.txt" -Wait | .\mosquitto_pub.exe -t "Events"

但是mosquitto_pub没有发表任何内容。

如果我使用Get-Content -Path "C:\test.txt" -Wait 我在stdout中看到了文件的尾部。

我的解决方案出了什么问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

阅读此Q and A

另一种方法

$minsToRunFor    = 10
$secondsToRunFor = $minsToRunFor  * 60

foreach ($second in $secondsToRunFor){

    $lastline = Get-Content -Path "C:\test.txt" | Select-Object -last 1

    # added condition as per VonPryz's good point
    # (otherwise will add lastline regardless of whether it's new or not)
    if ($lastline -ne $oldlastline){
         .\mosquitto_pub.exe -t "Events" -m "$lastline"
    }

    $oldlastline = $lastline
    Start-Sleep 100
}