Loop X number of times

powershell

Solution

This may be what you are looking for:

for ($i=1; $i -le $ActiveCampaigns; $i++)
{
  $PQCampaign     = Get-Variable -Name "PQCampaign$i"     -ValueOnly
  $PQCampaignPath = Get-Variable -Name "PQCampaignPath$i" -ValueOnly

  # Do stuff with $PQCampaign and $PQCampaignPath
}

Problem

I'm working on my first PowerShell script and can't figure the loop out. I have the following, which will repeat $ActiveCampaigns number of times: ``` Write-Host "Creating $PQCampaign1 Pre-Qualified Report" Invoke-Item "$PQCampaignPath1\PQ REPORT $PQCampaign1.qvw" Write-Host "Waiting 1 minute for QlikView to update" sleep -seconds 60 # Wait 1 minute for QlikView to Reload, create Report and Save. DO{ Write-Host "Daily Qlikview Reports" Write-Host "Wating for QlikView to create the $PQCampaign1 PQ Report" Get-Date Write-Host "Checking...." sleep -seconds 1 Write-Host "" Write-Host "Not Done Yet" Write-Host "Will try again in 5 seconds." Write-Host "" sleep -seconds 5 } Until (Test-Path "$PQCampaignPath1\$PQCampaign1 $PQReportName $ReportDate.xlsx" -pathType leaf) Get-Date Write-Host "Done with $PQCampaign1 PQ Report. Wait 10 seconds." sleep -seconds 10 ``` These parameters need to increase with one for each loop: - `$PQCampaign1` (should become `$PQCampaign2`, then 3, etc.) - `$PQCampaignPath1` (should become `$PQCampaignPath2`, then 3, etc.) So if `$ActiveCampaigns` is set to 8 on a certain day, then this needs to repeat 8 times and the last time it must open `$PQCampaign3` which lies in `$PQCampaignPath8`. How can I fix this?

Original source

Related problems