public/Get-FootballFixtureList.ps1
function Get-FootballFixtureList { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$Competition, [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$StartDate, [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$Path ) process{ $ErrorActionPreference = 'Stop' # C:\sportsmonk\sportsmonk-predictions\eng-premier $CompetitionPredictionFolder = "$Path\sportsmonk-predictions\$Competition" $CompetitionPredictionFolderExists = Test-Path -Path $CompetitionPredictionFolder if ($CompetitionPredictionFolderExists) { $CompetitionPredictionFolder = Get-ChildItem -Path $CompetitionPredictionFolder # C:\sportsmonk\sportsmonk-predictions\eng-premier\2025-02-02 $CompetitionPredictionDateFolder = $CompetitionPredictionFolder | Get-ChildItem | Where-Object {$_.FullName -like "*$YearMonth*"} # C:\sportsmonk\sportsmonk-predictions\eng-premier\2025-02-02\eng-premier-240-2025-02-02.csv $CompetitionPredictionDateFiles = $CompetitionPredictionDateFolder | Get-ChildItem -File | Where-Object {$_.FullName -like '*240*'} # Create object [PSCustomObject]$Objects =@() foreach ($CompetitionPredictionDateFile in $CompetitionPredictionDateFiles) { $FixturesToPlay = Import-Csv -Path $($CompetitionPredictionDateFile.FullName) # Extract date if ($($CompetitionPredictionDateFile.FullName) -match '\\(\d{4}-\d{2}-\d{2})\\') { $Date = $matches[1] $DateToUse = Get-Date -Date $Date $StartDateToUse = Get-Date -Date $StartDate if ($DateToUse -ge $StartDateToUse) { $Object = [PSCustomObject]@{ Competition = $Competition Date = $Date FixturesToPlay = $($FixturesToPlay.Count) Path = $($CompetitionPredictionDateFile.FullName).Split('\sportsmonk-predictions\')[1] } $Objects += $Object } # if } # if } # foreach $Objects } # if } # process } # function |