Seu $dir
é uma única string com caracteres de nova linha, portanto foreach
é executado apenas uma vez em seu exemplo (você imprimirá a string inteira se alterar a condição para if ($_.startswith("c"))
.
Você precisa dividir a variável $dir
, por exemplo, com:
$dir=(new-object Net.WebClient).DownloadString("http://www.nbp.pl/kursy/xml/dir.txt")
foreach ($singleEntry in $dir -split '\r\n') {
if ($singleEntry.startswith("a"))
{
write-host $singleEntry
}
}