Поделиться через


about_Operators

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_Operators

КРАТКОЕ ОПИСАНИЕ

Содержит описание операторов, поддерживаемых Windows PowerShell.

ПОДРОБНОЕ ОПИСАНИЕ

Оператор — это элемент языка, который можно использовать в команде или выражении. Windows PowerShell поддерживает несколько типов операторов для работы со значениями.

АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ

Арифметические операторы (+, -, *, /, %) используются для вычисления значений в команде или выражении. С помощью этих операторов можно складывать, вычитать, умножать и делить значения, а также вычислять остаток от деления.

Арифметические операторы также можно использовать со строками, массивами и хэш-таблицами. Оператор сложения сцепляет элементы. Оператор умножения возвращает указанное количество копий каждого элемента.

Подробнее см. в разделе about_Arithmetic_Operators.

ОПЕРАТОРЫ ПРИСВАИВАНИЯ

Операторы присваивания (=, +=, -=, *=, /=, %=) используются для присвоения одного или нескольких значений переменным, для изменения значений переменных и для добавления значений в переменные. Вы также можете привести переменную к любому типу данных Microsoft .NET Framework, например к типу string, DateTime или Process.

Подробнее см. в разделе about_Assignment_Operators.

ОПЕРАТОРЫ СРАВНЕНИЯ

Операторы сравнения (-eq, -ne, -gt, -lt, -le, -ge) используются для сравнения значений и проверочных условий. Например, можно сравнить два строковых значения, чтобы определить, равны ли они.

К операторам сравнения относятся операторы соответствия (-match, -notmatch), которые служат для поиска шаблонов с помощью регулярных выражений, оператор замены (-replace), который использует регулярные выражения для изменения входных значений, операторы подобия (-like, -notlike), которые служат для поиска шаблонов с помощью подстановочных знаков (*), и операторы вложения (-in, -notin, -contains, -notcontains), которые определяют, входит ли проверяемое значение в эталонное множество.

К ним также относятся побитовые операторы (-bAND, -bOR, -bXOR, -bNOT) для работы с битовыми шаблонами в значениях.

Подробнее см. в разделе about_Comparison_Operators.

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ

Логические операторы (-and, -or, -xor, -not, !) используются для объединения условных операторов в один сложный оператор. Например, с помощью логического оператора -and можно создать фильтр объектов с двумя разными условиями.

Подробнее см. в разделе about_Logical_Operators.

ОПЕРАТОРЫ ПЕРЕНАПРАВЛЕНИЯ

Операторы перенаправления (>, >>, 2>, 2> и 2>&1) используются для передачи выходных данных команды или выражения в текстовый файл. Операторы перенаправления работают как командлет Out-File (без параметров), но также позволяют перенаправлять выходные данные ошибок в указанные файлы. Для перенаправления выходных данных также можно использовать командлет Tee-Object.

Подробнее см. в разделе about_Redirection.

ОПЕРАТОРЫ РАЗДЕЛЕНИЯ И ОБЪЕДИНЕНИЯ

Операторы -split и -join служат для разделения и объединения подстрок. Оператор -split разделяет строку на подстроки. Оператор -join сцепляет несколько строк в одну строку.

Подробнее см. в разделах about_Split и about_Join.

ОПЕРАТОРЫ РАБОТЫ С ТИПАМИ

Операторы работы с типами (-is, -isnot, -as) используются для определения или изменения типа объекта .NET Framework.

Подробнее см. в разделе about_Type_Operators.

УНАРНЫЕ ОПЕРАТОРЫ

Унарные операторы используются для увеличения или уменьшения значений переменных или свойств объектов, а также для изменения целых чисел на положительные или отрицательные. Например, чтобы увеличить значение переменной $a с 9 до 10, введите $a++.

СПЕЦИАЛЬНЫЕ ОПЕРАТОРЫ

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

Оператор вложенного выражения массива @( )

Возвращает результат одного или нескольких операторов в виде массива. Если имеется только один элемент, массив содержит только один член.

             @(Get-WMIObject win32_logicalDisk)

Оператор вызова &

Выполняет команду, сценарий или блок сценария. Оператор вызова позволяет выполнять команды, которые хранятся в переменных и представлены строками. Так как оператор вызова не анализирует синтаксис команды, он не может интерпретировать ее параметры.

             C:\PS> $c = "get-executionpolicy"
             C:\PS> $c
             get-executionpolicy
 
             C:\PS> & $c
             AllSigned

Оператор приведения [ ]

Преобразует объекты в указанный тип или ограничивает их этим типом. Если преобразовать объекты нельзя, Windows PowerShell создает ошибку.

             [datetime]$birthday = "1/20/88"
             [int64]$a = 34  

Оператор «запятая» (,)

Как бинарный оператор запятая создает массив. Как унарный оператор запятая создает массив с одним элементом. Поместите запятую перед элементом.

             $myArray = 1,2,3 
             $SingleArray = ,1     

. Оператор вызова с использованием точки

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

             . c:\scripts.sample.ps1

Примечание. За оператором вызова с использованием точки следует пробел. Пробел служит для различения точки от символа точки (.), который представляет текущий каталог.

В примере ниже сценарий Sample.ps1 в текущем каталоге запускается в текущей области.

                 . .\sample.ps1

Оператор форматирования -f

Форматирует строки с помощью метода форматирования строковых объектов. Введите строку формата в левой части оператора, а форматируемые объекты — в правой части оператора.

             C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi
             1 hello      3.14

Подробнее см. в разделе, посвященном методу String.Format (https://go.microsoft.com/fwlink/?LinkID=166450), и в разделе «Составное форматирование» (https://go.microsoft.com/fwlink/?LinkID=166451).

Оператор индекса [ ]

Выбирает объекты из индексированных коллекций, таких как массивы и хэш-таблицы. Индексы массивов отсчитываются от нуля, поэтому первый объект имеет индекс [0]. Для массивов (и только для них) также можно использовать отрицательные индексы для получения последних значений. Хэш-таблицы индексируются по значению ключа.

             C:\PS> $a = 1, 2, 3
             C:\PS> $a[0]
             1
             C:\PS> $a[-1]
             3


             C:\PS> (get-hotfix | sort installedOn)[-1]

           
             C:\PS> $h = @{key="value"; name="Windows PowerShell"; version="2.0"}
             C:\PS> $h["name"]
             Windows PowerShell


             C:\PS> $x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
             C:\PS> $x["doc"]
             intro
             -----
             Once upon a time...

Оператор конвейера |

Передает («по конвейеру») выходные данные команды, предшествующей ему, в команду, следующую за ним. Если выходные данные содержат более одного объекта («коллекцию»), оператор конвейера передает по одному объекту за раз.

               get-process | get-member
               get-pssnapin | where {$_.vendor -ne "Microsoft"}                              

. Оператор разыменования свойств

Получает доступ к свойствам и методам объекта.

             $myProcess.peakWorkingSet
             (get-process PowerShell).kill()

.. Оператор диапазона

Представляет последовательность целых чисел в целочисленном массиве с учетом верхней и нижней границ.

             1..10
             10..1
             foreach ($a in 1..$max) {write-host $a}

:: Оператор статических членов

Вызывает оператор статических свойств и методы класса .NET Framework. Чтобы определить статические свойства и методы объекта, используйте параметр Static командлета Get-Member.

             [datetime]::now
   

Оператор части выражения $( )

Возвращает результат одного или нескольких операторов. Если результат один, возвращает скалярное значение. Если результатов несколько, возвращает массив.

             $($x * 23)
             $(Get-WMIObject win32_Directory)

СМ. ТАКЖЕ

about_Arithmetic_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Logical_Operators

about_Type_Operators

about_Split

about_Join

about_Redirection