Запустите команду в середине Write-Host - PullRequest
0 голосов
/ 16 октября 2019

У меня есть строка write-host, в которую я хочу выполнить команду, поэтому выходные данные будут вставлены в середину строки write-host.

В основном у меня есть текстовый файлкоторый содержит данные конфигурации для набора сценариев, одной из конфигураций является формат даты и времени. Например, есть конфигурация для формата года «ГГГГ», и она записана в $ Year.

Итак, я хотел бы сделать что-то вроде этого:

Write-Host "The year is " Get-Date -Format $Year.ToLower()

То, что я ожидаю увидеть на своем экране при запуске, это

The year is 2019

Теперь я знаю, что могу объявить другую переменную с этой логикой и просто иметь ...

Write-Host "The year is $NewVariable"

... но я надеялся не создавать другую переменную. Это тупой пример моего скрипта, поэтому я бы создал много переменных, если бы пошел по этому пути. Обратите внимание, что я использую .ToLower () для компенсации ввода пользователя в текстовый файл конфигурации.

Ответы [ 2 ]

4 голосов
/ 16 октября 2019

Чтобы напечатать год Get-Date , запустите:

Write-Host "The year is $(Get-Date -Format yyyy)"

Таким образом, вы всегда получите год, сгенерированный Get-Date

0 голосов
/ 16 октября 2019

Это отлично работает ....

$year = "2019"
Write-Host "The year is" (Get-Date -Format $Year.ToLower())
...