Get-Currency.Ps1 v2

Спасибо Bishop за то что показал урл для получения курсов в xml🙂 Тот же самый скрипт, но в 2 раза короче, не зависящий от смены разметки страницы и без страшного регулярного выражения🙂

param ($Name = "*", [datetime]$Date = (Get-Date)) $WClient = new-object System.Net.WebClient $url = "http://cbr.ru/scripts/XML_daily.asp?date_req=$(Get-Date $Date -f 'dd\/MM\/yyyy')" $data = [xml]$WClient.DownloadString($url) $data.ValCurs.GetEnumerator() | Select-Object @{Name="ID"; Expression={$_.NumCode}}, @{Name="Name"; Expression={$_.CharCode}}, @{Name="FullName"; Expression={$_.Name}}, @{Name="Rate"; Expression={[double]($_.Value -replace ",",".") / $_.Nominal}} | Where-Object {$_.Name -like $Name}

А можно и так🙂

([xml](new-object system.net.webclient).downloadstring("http://cbr.ru/scripts/XML_daily.asp?date_req=$(Get-Date -f 'dd\/MM\/yyyy')")).valcurs.getenumerator()|ft -a

Менее красиво, зато в одну строчку😉

Опубликовано в PowerShell. Комментарии к записи Get-Currency.Ps1 v2 отключены
%d такие блоггеры, как: