próbuję dowiedzieć się, dlaczego następujący występuje, jeśli maszOdwoływanie PowerShell indeks tablicy produkuje nieoczekiwane wyniki, gdy odwołuje się łańcuch
$arr = @("Filename1", "Filename2")
for($i =0; $i -le $arr.Length -1; $i++) {
write-host ".\"$arr[$i]
write-host ".\$arr[$i]"
write-host $arr[$i]
}
Więc biorąc tylko jedną pętlę poprzez produkuje:
".\ Filename1"
".\ Filename1 Filename2[0]"
"Filename1"
Po prostu odwołanie do tablicy [index] spowoduje wygenerowanie poprawnej wartości, ale jeśli połączę ją z ciągiem, umieszcza spację między ciągiem a wartością. Po umieszczeniu wewnątrz łańcucha Zakładam, że jest dumping całą zawartość, ponieważ ocenia $ array następnie oceniający $ i kończąc
„\ nazwa_pliku1 nazwa_pliku2 [numer indeksu]”
Ale jeśli przypisać jednostkę wartość do oddzielnej zmiennej i połączyć ją ciągiem znaków nie ma miejsca? Dlatego jest to, że:
przykład:
$name = $arr[$i]
write-host ".\$name"
wyjściowy =
która jest poprawna”\ nazwa_pliku1" ..