Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 计算文本字符串的实例数并输出到文本文件_Powershell - Fatal编程技术网

Powershell 计算文本字符串的实例数并输出到文本文件

Powershell 计算文本字符串的实例数并输出到文本文件,powershell,Powershell,我有一个文本文件,它不断更新游戏中的数据 我想要一个脚本(Powershell),它可以持续监视和统计此文本文件中文本字符串的实例,并将数字写入另一个文本文件或csv。随着实例的增加,脚本将用新计数覆盖以前的计数 现在我有这个 $FileContent = Get-Content "Log.txt" $Matches = Select-String -InputObject $FileContent -Pattern "Ride On Received" -AllMatches

我有一个文本文件,它不断更新游戏中的数据

我想要一个脚本(Powershell),它可以持续监视和统计此文本文件中文本字符串的实例,并将数字写入另一个文本文件或csv。随着实例的增加,脚本将用新计数覆盖以前的计数

现在我有这个

  $FileContent = Get-Content "Log.txt"
  $Matches = Select-String -InputObject $FileContent -Pattern "Ride On Received" -AllMatches

   $Matches.Matches.Count
如何让此脚本持续监视更改并将计数写入文本文件。它需要不断覆盖上一个计数编号


谢谢,持续是一个有点粗糙的概念,因为过程需要时间来完成,所以可以说没有持续这样的东西。相反,我建议您将其视为一个要重复运行的脚本。现在,你真的需要它多久运行一次,一小时,一秒,更快

也就是说,这应该满足你的需要

$CheckFrequency=1000
$filePath="testr.txt"
$countfile="count.txt"

while($true){
    $file = get-item $filePath
    if($file.LastWriteTime -ne $writeTime){
        $FileContent = Get-Content $filePath
        $Matches = Select-String -InputObject $FileContent -Pattern "Ride On Received" -AllMatches
        $Matches.Matches.Count | Out-File $countfile
        $writeTime=$file.LastWriteTime
    }
    start-sleep -Milliseconds $CheckFrequency
}
它将每秒检查一次,更确切地说是每1000毫秒检查一次。如果您需要更快地进行检查,请减少$CHECKFREENCE变量


您可以通过从脚本中删除$CheckFrequency和start sleep行来实现“持续”。但是,您的系统可能不满意

你可能在找一个