Операторы являются элементами языка, которые можно использовать в командах или выражениях. Windows PowerShell поддерживает несколько типов операторов, для управления значениями.
Арифметические операторы
Арифметические операторы (+, -, *, /,%) используются для вычисления значения в командах или выражениях. С помощью этих операторов можно складывать, вычитать, умножать, делить и вычислить модуль остатка от деления.
Арифметические операторы, также можно использовать со строками, массивами и хэш-таблицами. Оператор сложения объединяет элементы. Оператор умножения возвращает указанное число копий каждого элемента.
Для получения дополнительной информации см about_Arithmetic_Operators.
Операторы присваивания
Операторы присваивания (=, + =, — =, * =, / =,% =) используются , для присваивания одного или нескольких значений переменной, для изменения значения переменной и добавления значений переменной. Также переменной можно присвоить любой тип данных Microsoft .NET Framework, такие как String или DateTime, или Process.
Для получения дополнительной информации см about_Assignment_Operators.
Операторы сравнения
Операторы сравнения (-and, -or, -xor, -not, !) используются для сравнения значений и проверки условий. Например, вы можете сравнить два строковых значения, чтобы определить, равны ли они.
Операторы сравнения включают операторы соответствия (-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.
Унарные операторы
Унарные операторы увеличивают или уменьшают значения переменных или свойств объекта, и задают целым чиселам положительное или отрицательное значение. Например, чтобы увеличить значение переменной $а с 9 до 10, можно использовать следующую конструкцию: $a++.
Специальные операторы
Специальные операторы используются для выполнения задач, которые не могут быть выполнены другими типами операторов. Например, специальные операторы позволяют выполнять такие операции, как выполнение команд и изменение типа данных значения.
@() Оператор переопределения в Массив
Возвращает один или несколько значений, в виде массива.
Если есть только один элемент, массив имеет только одного члена.
1 |
@(Get-WMIObject Win32_LogicalDisk) |
& Оператор вызова
Выполняет команду, скрипт или блок скрипта. Оператор вызова, также известный как «invocation operator», позволяет запускать команды, которые хранятся в переменных и представлены строками. Поскольку оператор вызова не анализирует команду, он не интерпретирует параметры команды.
1 2 3 4 5 6 |
C:\PS> $c = "get-executionpolicy" C:\PS> $c get-executionpolicy C:\PS> & $c AllSigned |
[] Оператор перезаливки
Преобразует или пределывает объект в заданный тип. Если объекты не может быть преобразован, Windows PowerShell выдаёт ошибку.
1 2 |
[datetime]$birthday = "1/20/88" [int64]$a = 34 |
, Оператор запятая
Как бинарный оператор(если элементов операции больше одного), запятая создает массив. При унарной операции(если элемент один), запятая создает массив с одним элементом. Для этого надо поместите запятую перед объектом.
1 2 |
$myArray = 1,2,3 $SingleArray = ,1 |
(. ) Точка оператор источников
Выполняет скрипт в текущем окружении, так что любые функции, псевдонимы и переменные, которые создает сценарий добавляются в текущюу область окружения.
1 |
. c:\scripts.sample.ps1 |
Примечание: После оператора точка следует пробел. Надо использовать пробел, чтобы отличить оператор точку от символом точки (.), который указывает на текущий каталог.
В следующем примере скрипт sample.ps1 в текущем каталоге выполняется в текущей области окружения.
1 |
. .\sample.ps1 |
-f оператор формата
Форматирует строки с помощью метода объекта формат строки. Введите строку формата с левой стороны от оператора и объект необходимо отформатировать с права от оператора.
1 2 |
C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi 1 hello 3.14 |
[] Оператор индекса
Выбор элементов в индексированных коллекциях, таких как массивы и хэш-таблицы. Индексы массива начинаются с нуля, поэтому первый объект индексируется как [0]. В массивах, можно использовать отрицательные индексы, чтобы получить элемент с конца массива([-1] последний элемент массива, [-2] предпоследний элемент массива). Хэш-таблицы индексируются значениями ключа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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... |
| («pipe»)Оператор конвеера
Перенаправляет («pipes») выходные данные команды дальше по конвееру на следующую за ней команду. Когда в исходящих данных более чем один объект («collection»), оператор конвейера передает объекты по одному.
1 2 3 4 5 6 7 |
get-process | get-member get-pssnapin | where {$_.vendor -ne "Microsoft"} . пересылка на свойства оператора. Доступ к свойствам и методам объекта. $myProcess.peakWorkingSet (get-process PowerShell).kill() |
.. Оператор диапазон
Создаёт последовательность целых чисел, как массив целых чисел, с заданными верхней и нижней границей.
1 2 3 |
1..10 10..1 foreach ($a in 1..$max) {write-host $a} |
:: Оператор статических членов
Вызов статических свойств и методов из класса в .NET Framework. Чтобы найти статические свойства и методы объекта, используйте параметр Static командлета Get-Member.
1 |
[datetime]::now |
$() Оператор подвыражения
Возвращает результат одного или нескольких операторов. Для одного результате возвращает единичное значение. Для нескольких результатов возвращает массив.
1 2 |
$($x * 23) $(Get-WMIObject win32_Directory) |
Комментарии: