добавить строку в расчетный вывод в PowerShell - PullRequest
0 голосов
/ 21 сентября 2018

Я использую строку PowerShell для проверки оперативной памяти на машине, и она прекрасно работает, но мне нужно добавить строку к выводу:

Get-CimInstance -class Win32_PhysicalMemory |
  Measure-Object -Property capacity -Sum |
    % {[Math]::Round(($_.sum / 1GB),2)}

Это дает результат на основе того, сколько памятимашина есть, но мне нужно добавить «ГБ» в конце, чтобы получить 16 ГБ, а не просто 16.

Я пробовал разные вещи, ни одна не работала.Я думаю, я изо всех сил пытаюсь понять, как добавить строку к выводу вычисляемого свойства.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Вы можете использовать метод .ToString (), а затем добавить ГБ

(Get-CimInstance -class Win32_PhysicalMemory | Measure-Object -Property capacity -Sum | % {[Math]::Round(($_.sum / 1GB),2)}).ToString() + " GB"

, надеюсь, это поможет

0 голосов
/ 21 сентября 2018

(a) Используйте расширяемую строку (интерполяция строки):

Get-CimInstance -class Win32_PhysicalMemory | 
  Measure-Object -Property capacity -Sum | 
    % { "$([Math]::Round($_.sum / 1GB,2))GB" }

Вы можете использовать $(...), оператор подвыражения, для встраивания выражений и даже нескольких операторов встрока в двойных кавычках.


(b) Либо используйте форматирование строки .NET с помощью оператора -f :

Get-CimInstance -class Win32_PhysicalMemory | 
  Measure-Object -Property capacity -Sum | 
    % { '{0:G2}GB' -f ($_.sum / 1GB) }

Формат строки наLHS должен содержать заполнитель для каждого аргумента RHS, начиная с {0};При желании инструкции форматирования могут быть встроены в каждый заполнитель, который в данном случае выполняет желаемое округление и отображает до 2 десятичных знаков (G2).
Оператор -f использует .NET * String.Format() метод за кадром.


Важно :

  • Метод (a) всегда использует инвариант культура, в которой . является десятичной отметкой.

  • Метод (b) является чувствительным к культуре , поэтому он использует текущий десятичный знак культуры (используйте Get-Culture для определения текущей культуры).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...