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