Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение: 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