Я пытаюсь выяснить, почему происходит следующее, если у вас есть
$arr = @("Filename1", "Filename2")
for($i =0; $i -le $arr.Length -1; $i++) {
write-host ".\"$arr[$i]
write-host ".\$arr[$i]"
write-host $arr[$i]
}
Итак, если взять только один цикл, то получается:
".\ Filename1"
".\ Filename1 Filename2[0]"
"Filename1"
Просто обращение к массиву[index] дает правильное значение, но если я конкатенирую со строкой, то между строкой и значением ставится пробел. Когда значение помещается в строку, я предполагаю, что оно сбрасывает все содержимое, потому что оно оценивает $array, затем оценивает $i и в итоге получается
".\ filename1 filename2[номер индекса]"
Но если я присваиваю отдельное значение отдельной переменной и объединяю его со строкой, то пробела нет? Почему так:
Пример:
$name = $arr[$i]
write-host ".\$name"
output = ".\filename1"
что правильно.