Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
<#
.SYNOPSIS
    Банк России. Курсы валют
.DESCRIPTION
    Скрипт получает с сайта Банка России курсы валют на указанную дату,
    если дата не указана, то на последнюю зарегистрированную дату
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -CharCode 'USD' -DateReq (Get-Date "19.09.2018") | ft -a
    Получить курс доллара на 19.09.2018
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -CharCode 'USD' -DateReq (Get-Date "19.09.2019") | ft -a
    Получить курс доллара на 19.09.2019
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -CharCode 'USD' | ft -a
    Получить курс доллара на последнюю зарегистрированную дату
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -CharCode 'EUR').Value
    Получить курс евро, отобразить только значение
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -CharCode 'USD', 'EUR', 'JPY' | ft -a
    Получить перечисленные в аббревиатурах курсы валют
.EXAMPLE
    PS C:\> К:\Скрипту\Путь\Get-CBRDaily.ps1 -Name 'долл', 'фран' | ft -a
    Получить для валют совпадающих по части имени
.LINK
    https://www.cbr.ru/development/
.NOTES
    Автор: iNNOKENTIY21
#>
 
[CmdletBinding(DefaultParameterSetName)]
param (
    [datetime] $DateReq,
 
    [Parameter(ParameterSetName = 'ByCharCode')]
    [ValidateSet('AUD', 'AZN', 'GBP', 'AMD', 'BYN', 'BGN', 'BRL', 'HUF',
                 'HKD', 'DKK', 'USD', 'EUR', 'INR', 'KZT', 'CAD', 'KGS', 'CNY',
                 'MDL', 'NOK', 'PLN', 'RON', 'XDR', 'SGD', 'TJS', 'TRY', 'TMT',
                 'UZS', 'UAH', 'CZK', 'SEK', 'CHF', 'ZAR', 'KRW', 'JPY')]
    [string[]] $CharCode,
 
    [Parameter(ParameterSetName = 'ByName')]
    [string[]] $Name,
 
    [Parameter(ParameterSetName = 'ByNumCode')]
    [ValidateSet(036, 944, 826, 051, 933, 975, 986, 348, 344, 208, 840,
                 978, 356, 398, 124, 417, 156, 498, 578, 985, 946, 960,
                 702, 972, 949, 934, 860, 980, 203, 752, 756, 710, 410, 392)]
    [int[]] $NumCode,
 
    [Parameter(ParameterSetName = 'ByID')]
    [ValidateSet('R01010', 'R01020A', 'R01035', 'R01060', 'R01090B',
                 'R01100', 'R01115', 'R01135', 'R01200', 'R01215', 'R01235',
                 'R01239', 'R01270', 'R01335', 'R01350', 'R01370', 'R01375',
                 'R01500', 'R01535', 'R01565', 'R01585F', 'R01589', 'R01625',
                 'R01670', 'R01700J', 'R01710A', 'R01717', 'R01720', 'R01760',
                 'R01770', 'R01775', 'R01810', 'R01815', 'R01820')]
    [string[]] $ID
)
 
if ($DateReq) { $Date = $DateReq.ToString("dd.MM.yyyy") }
 
$Uri = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$Date"
$Res = Invoke-RestMethod -Uri $Uri
 
switch ($PSCmdlet.ParameterSetName) {
    ByCharCode { $CharCode | % {$Res.ValCurs.Valute | ? CharCode -EQ    $_} }
    ByName     { $Name     | % {$Res.ValCurs.Valute | ? Name     -Match $_} }
    ByNumCode  { $NumCode  | % {$Res.ValCurs.Valute | ? NumCode  -EQ    $_} }
    ByID       { $ID       | % {$Res.ValCurs.Valute | ? ID       -EQ    $_} }
    Default    { $Res.ValCurs.Valute }
}

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 20:48 19-09-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru