69 lines
2.7 KiB
PowerShell
69 lines
2.7 KiB
PowerShell
# 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
|
|
}
|