Я пишу сценарий и сталкивался с ошибкой, описанной в названии. Мой код ниже. Я попытался даже вывести «$ i», и он показывает ожидаемые значения, поэтому я не уверен, почему он дает мне ошибку. Когда он добирается до строки «Write-Host», он даже не выводит его. Что мне не хватает?Мой скрипт дает ошибку «Индекс был за пределами границ» Powershell
$LogName = @() #Declaration of an empty array
$NumberOfLogs = Read-Host -Prompt "How many logs do you want to retrieve?"
for ($i=0
$i -lt $NumberOfLogs
$i++)
{
$j = $i+1
$LogName[$i] = Read-Host -Prompt "Enter name of Log #$j"
Write-Host $LogName[$i]
}
Видимо есть еще один пост об этом, но я попробовал предложение, перечисленные в качестве ответа он все еще дает мне ту же ошибку.
Вы ожидали чего-то еще из пустого массива? Пустой массив не имеет никакого действительного индекса для записи или чтения. – PetSerAl
Возможный дубликат [Инициализация массива PowerShell] (http://stackoverflow.com/questions/226596/powershell-array-initialization) – dotnetom
Я думал, что я что-то вводил в массив в «$ LogName [$ I] = Read- Host ... "? – Joseph