# Update subfolders with the latest UpdateSequences and UpdateAllSequences scripts $sourceBat = "A:\1 Amazon_Active_Projects\3 ProjectStructure\UpdateSequences.bat" $sourcePs1 = "A:\1 Amazon_Active_Projects\3 ProjectStructure\UpdateSequences.ps1" $sourceAllBat = "A:\1 Amazon_Active_Projects\3 ProjectStructure\UpdateAllSequences.bat" if (-not (Test-Path $sourceBat)) { Write-Error "Source file not found: $sourceBat"; exit 1 } if (-not (Test-Path $sourcePs1)) { Write-Error "Source PowerShell file not found: $sourcePs1"; exit 1 } if (-not (Test-Path $sourceAllBat)) { Write-Error "Source file not found: $sourceAllBat"; exit 1 } $root = "A:\1 Amazon_Active_Projects" $specs = @( @{ Name = "UpdateSequences.bat"; Source = $sourceBat }, @{ Name = "UpdateSequences.ps1"; Source = $sourcePs1 }, @{ Name = "UpdateAllSequences.bat"; Source = $sourceAllBat } ) $grandTotal = 0 $grandUpdated = 0 $grandFailed = 0 foreach ($spec in $specs) { Write-Host "=== Updating $($spec.Name) files ===" -ForegroundColor Cyan Write-Host "Source: $($spec.Source)" -ForegroundColor White Write-Host "" $targets = Get-ChildItem -Path $root -Recurse -Filter $spec.Name | Where-Object { $_.FullName -ne $spec.Source } Write-Host "Found $($targets.Count) target files to update:" -ForegroundColor Yellow foreach ($t in $targets) { Write-Host " - $($t.FullName)" -ForegroundColor Gray } Write-Host "" $updated = 0 $failed = 0 foreach ($t in $targets) { try { Copy-Item -Path $spec.Source -Destination $t.FullName -Force Write-Host " Updated: $($t.FullName)" -ForegroundColor Green $updated++ } catch { Write-Host " Failed to update: $($t.FullName)" -ForegroundColor Red Write-Host " Error: $($_.Exception.Message)" -ForegroundColor Red $failed++ } } Write-Host "" Write-Host "=== $($spec.Name) SUMMARY ===" -ForegroundColor Magenta Write-Host "Successfully updated: $updated" -ForegroundColor Green Write-Host "Failed updates: $failed" -ForegroundColor Red Write-Host "Total targets: $($targets.Count)" -ForegroundColor White Write-Host "" $grandTotal += $targets.Count $grandUpdated += $updated $grandFailed += $failed } Write-Host "=== OVERALL SUMMARY ===" -ForegroundColor Magenta Write-Host "Total targets across all files: $grandTotal" -ForegroundColor White Write-Host "Total successfully updated: $grandUpdated" -ForegroundColor Green Write-Host "Total failed: $grandFailed" -ForegroundColor Red if ($grandFailed -eq 0) { Write-Host "`nAll files updated successfully." -ForegroundColor Green } else { Write-Host "`nSome updates failed. See errors above." -ForegroundColor Yellow }