public/Copy-LoomlyFootballFixtureData.ps1
function Copy-LoomlyFootballFixtureData { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$Competition, [Parameter(Mandatory=$true)] [ValidateNotNull()] [string]$Date, [Parameter(Mandatory=$true)] [ValidateNotNull()] [string]$Path ) process{ $ErrorActionPreference = 'Stop' try { $FileCopyCount = 1 $SourceDirectory = "$Path\fixture-artifact\multi-media\$Competition\$Date" $TargetDirectory = "$Path\loomly\schedules" $RecentFiles = Get-ChildItem -Path $SourceDirectory -File -Recurse | Where-Object {$_.FullName -like '*.png'} $RecentCompetitionFiles = $RecentFiles | Where-Object {$_.FullName -like "*$Competition*"} if ($($RecentCompetitionFiles.Count) -ge 1 ) { foreach ($CompetitionFile in $RecentCompetitionFiles) { # C:\Users\colin\Desktop\sportsmonk\news\post-match-news\eng-premier\2025-01-26\retro1.png # 2025-01-26\retro1.png # 2025-01-26 $Split1 = $($CompetitionFile.FullName).Split("$Competition\")[1] $Date = $Split1.Split('\')[0] $DestinationPath = "$TargetDirectory\$Competition\$Date" $PathExists = Test-Path -Path $DestinationPath if (!$PathExists) { New-Item -Path $DestinationPath -ItemType Directory -Verbose | Out-Null } else { Write-Warning -Message "Loomly path already exists: $DestinationPath." } # if if ($FileCopyCount -ge 1 -or $FileCopyCount -lt 10) { $CountToUse = "0$FileCopyCount" } else { $CountToUse = $FileCopyCount } Copy-Item -Path $($CompetitionFile.FullName) -Destination "$DestinationPath\$CountToUse-$($CompetitionFile.Name)" -Verbose $FileCopyCount ++ } # foreach } # if } catch { "$($MyInvocation.MyCommand.Name): $_.Exception.Message" } } # process } # function |