我有代码:
$dir=(new-object Net.WebClient).DownloadString("http://www.nbp.pl/kursy/xml/dir.txt")
$dir | foreach {
if ($_.startswith("a"))
{
write-host $_
}
}
我需要仅选择以a
字符开头的行。此脚本不起作用,它不打印任何内容。我应该在此脚本中做哪些更改才能使其正常工作?
答案1
您的$dir
是一个包含换行符的单个字符串,因此foreach
在您的示例中只运行一次(如果将条件更改为,则将打印整个字符串if ($_.startswith("c"))
。
您需要拆分$dir
变量,例如:
$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
}
}