you can create an array of all your log files then run your code upon each ones :
$files = get-childitem D:\EnterAccount\Gecko\log\ -filter *.log | ?{ $_.lastwritetime -gt ((get-date).addHours(-1)) }
$files | foreach{
cat $_ | Select-String "ERROR" -SimpleMatch | select -expand line | foreach {
$_ -match '(.+)\s[ERROR]\s\.\s(.+)' | out-null
new-object psobject -Property @{
Timestamp = [datetime]$matches[1];Error = $matches[2]
} | where {$_.timestamp -gt (get-date).AddDays(-1)
}
}