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