![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Синтаксис |
|
PowerShell - [решено] Синтаксис
|
![]() Старожил Сообщения: 225 |
Доброго времени суток, уважаемые!
Наткнулся на очередной интересный скрипт: Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" -Computer localhost | Select SystemName,DeviceID,@{Name="size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}}, @{Name="freespace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}} | Format-Table -AutoSize Нагуглил, что @ - оператор массива, то есть создается этот самый массив, где название "size (GB)", а вот что происходит потом? это для отображения объема диска в Гб, но что такое -f? |
|
Отправлено: 12:26, 08-09-2018 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать -f Format operator , является сокращенной версией статического метода [String]::Format.
Составное форматирование 0 - индекс, куда подставлять N1 - строка форматирования, в данном примере один знак после запятой N - https://docs.microsoft.com/ru-ru/dot...format-strings Цитата:
@{Name="size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}} - Тип hashtable и является вычисляемым полем https://4sysops.com/archives/add-a-c...in-powershell/ Name (or Label) <string> - Название поля Expression <string> or <script block> - Содержимое этого поля, в нашем случае, это скриптблок, который вычисляет размер в ГБ с последующим форматированием строки с точностью до одного знака после запятой. |
|
Последний раз редактировалось Kazun, 08-09-2018 в 14:03. Отправлено: 13:53, 08-09-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата za1:
А то, что Вы видите в коде — один из видов коллекций, в данном случае — Потому данным кодом: и: создаются не массивы, а хэш-таблицы, которые используется как параметры командлета Select-Object. Цитата za1:
«"{0:N1}"» — строка формата, где {…} — место в строке, куда помещается выражение, «0» — номер выражения, которые перечислены после оператора формата (оператор может форматировать одной строкой формата несколько выражений), «:» — разделитель номера выражения и формата выражения, «N» — идентификатор одного из стандартных форматов (Standard Numeric Format Strings | Microsoft Docs), «1» — показатель точности, попросту — число знаков после десятичной запятой (описано по той же ссылке). «-f» — собственно, сам оператор. «($_.size / 1gb)» — выражение для форматирования, берётся свойство .size текущего объекта конвеера («$_») и делится на 1 гигабайт (PowerShell позволяет использовать такие константы, как 1gb); поскольку оператор форматирования требует готового результата выражения, то выражение с делением заключается в круглые скобки. Получающаяся хэш-таблица (которая затем будет использоваться как параметр командлета Select-Object) выглядит так: |
||
Отправлено: 14:14, 08-09-2018 | #3 |
![]() Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать Спасибо, все прям по полочкам)
|
Отправлено: 17:08, 08-09-2018 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Синтаксис auditpol.exe | Неадекват | Microsoft Windows 7 | 1 | 04-04-2018 13:18 | |
CMD/BAT - синтаксис в бат-файле | Dudee | Скриптовые языки администрирования Windows | 13 | 14-02-2014 12:49 | |
Регфайл, синтаксис. | semiono | AutoIt | 28 | 25-01-2010 04:40 | |
VBS/WHS/JS - синтаксис On Error | Dr.Dark | Программирование и базы данных | 8 | 26-08-2008 11:42 | |
синтаксис php | Вебмастеру | 6 | 03-03-2005 22:42 |
|