Files
ProjectStructure_HOME/UpgradeSeqBatches.ps1

67 lines
2.4 KiB
PowerShell

# Copy the current UpdateSequences.bat to all subfolders that have it
$sourceFile = "A:\1 Amazon_Active_Projects\3 ProjectStructure\UpdateSequences.bat"
$sourcePs1 = "A:\1 Amazon_Active_Projects\3 ProjectStructure\UpdateSequences.ps1"
if (-not (Test-Path $sourceFile)) {
Write-Error "Source file not found: $sourceFile"
exit 1
}
if (-not (Test-Path $sourcePs1)) {
Write-Error "Source PowerShell file not found: $sourcePs1"
exit 1
}
Write-Host "=== Updating UpdateSequences.bat files ===" -ForegroundColor Cyan
Write-Host "Source .bat: $sourceFile" -ForegroundColor White
Write-Host "Source .ps1: $sourcePs1" -ForegroundColor White
Write-Host ""
# Find all UpdateSequences.bat files
$targetFiles = Get-ChildItem -Path "A:\1 Amazon_Active_Projects" -Recurse -Filter "UpdateSequences.bat" | Where-Object { $_.FullName -ne $sourceFile }
Write-Host "Found $($targetFiles.Count) target files to update:" -ForegroundColor Yellow
foreach ($file in $targetFiles) {
Write-Host " - $($file.FullName)" -ForegroundColor Gray
}
Write-Host ""
$updatedCount = 0
$failedCount = 0
foreach ($targetFile in $targetFiles) {
$targetDir = $targetFile.Directory.FullName
$targetBat = Join-Path $targetDir "UpdateSequences.bat"
$targetPs1 = Join-Path $targetDir "UpdateSequences.ps1"
try {
# Copy the .bat file
Copy-Item -Path $sourceFile -Destination $targetBat -Force
Write-Host "✓ Updated: $targetBat" -ForegroundColor Green
# Copy the .ps1 file
Copy-Item -Path $sourcePs1 -Destination $targetPs1 -Force
Write-Host "✓ Updated: $targetPs1" -ForegroundColor Green
$updatedCount++
}
catch {
Write-Host "✗ Failed to update: $targetBat" -ForegroundColor Red
Write-Host " Error: $($_.Exception.Message)" -ForegroundColor Red
$failedCount++
}
}
Write-Host ""
Write-Host "=== SUMMARY ===" -ForegroundColor Magenta
Write-Host "Successfully updated: $updatedCount" -ForegroundColor Green
Write-Host "Failed updates: $failedCount" -ForegroundColor Red
Write-Host "Total targets: $($targetFiles.Count)" -ForegroundColor White
if ($failedCount -eq 0) {
Write-Host "`n🎉 All UpdateSequences.bat files have been successfully updated!" -ForegroundColor Green
} else {
Write-Host "`n⚠️ Some files failed to update. Check the errors above." -ForegroundColor Yellow
}