Sto cercando di scoprire perché il seguente verifica se si disponeReferencing PowerShell indice di matrice produce risultati imprevisti quando si fa riferimento con la stringa
$arr = @("Filename1", "Filename2")
for($i =0; $i -le $arr.Length -1; $i++) {
write-host ".\"$arr[$i]
write-host ".\$arr[$i]"
write-host $arr[$i]
}
Quindi, prendendo un solo ciclo attraverso di essa produce:
".\ Filename1"
".\ Filename1 Filename2[0]"
"Filename1"
Il semplice riferimento all'array [index] produrrà il valore corretto, ma se concatenato con una stringa pone uno spazio tra la stringa e il valore. Quando posizionato all'interno della stringa suppongo che è dumping l'intero contenuto perché sta valutando $ array poi valutare $ i finendo con
"\ nomefile1 nomefile2 [numero indice]"
Ma se assegno dell'individuo valore per una variabile separata e concatenarlo con una stringa non c'è spazio? Perché è questo:
Esempio:
$name = $arr[$i]
write-host ".\$name"
uscita =
che è corretto" \ nomefile1" ..