Больше или равно powershell: Операторы Windows PowerShell | Windows IT Pro/RE

Powershell — Операторы сравнения | TipoIT

Как и в любом языке программирования в PowerShell также присутствуют операторы сравнения, при чём не в обычном для людей виде знаков <, >, =.

Вместо знаков в PowerShell используются буквы, которые обозначают сами слова сравнения, например -gt означает Greater than (Больше).

Таблица операторов сравнения

ОператорЗначениеОписание
-leLess than or equalМеньше или равно
-ltLess thanМеньше чем
-geGreater than or equalБольше или равно
-gtGreater thanБольше чем
-neNot equalНе равно
-eqEqualРавно
-likeWildcard comparisonПоиск по шаблону
-notlikeWildcard comparisonПоиск по несоответствию шаблонов
-matchRegular expression comparisonПоиск соответствия по регулярным выражениям
-notmatchRegular expression comparisonПоиск несоответствия по регулярным выражениям
-inContainment operatorПоиск по коллекции
-notinContainment operatorПоиск по коллекции (не содержит)
-replaceReplace operatorЗаменяет часть или всё значение
-isTypeВозвращает true если объекты одинаковы
-isnotTypeВозвращает true если объекты неодинаковы

le

Этот оператор означает меньше или равно и эквивалентен <=.

5 -le 8
5 -le 5
True
True

lt

Этот оператор означает меньше и эквивалентен <.

5 -le 8

ge

Этот оператор означает больше или равно и эквивалентен >=.

5 -ge 8
10 -ge 8
10 -ge 10
False
True
True

gt

Этот оператор означает больше и эквивалентен >.

5 -gt 8
12 -gt 8
False
True

ne

Этот оператор означает не равно и также может использоваться для сравнения буквенных значений.

2 -ne  2
"abc" -ne  "def"
"abc" -ne  "abc"
False
True
False

eq

Этот оператор означает равно и также может использоваться для сравнения буквенных значений.

2 -eq  2
"abc" -eq  "def"
"abc" -eq  "abc"
True
False
True

like

Этот оператор сопоставления и ведёт себя аналогично оператору -eq но работает только со словами и также может принимать регулярные выражения.

"my home here" -like "home"
"my home here" -like "*home*"
False
True

notlike

Этот оператор сопоставления и ведёт себя аналогично оператору -ne но работает только со словами и также может принимать регулярные выражения.

"my home here" -notlike "*home*"
"my home here" -notlike "*abc*"
False
True

match

Этот оператор сопоставления и ведёт себя аналогично оператору -like только с отличием того что он не обращает внимание на место символа поиска в строке.

Также при использовании -notmatch и -match создаётся автоматически переменная $Matches, к которой вы можете получить доступ.

"my home here" -like "home"
"my home here" -like "*home*"
"my home here" -match "home"
"my home here" -match "h[qoea]me"
False
True
True
True

Используя -match вы также можете разбивать какую-либо строку на переменные присваивая им значения слов из этого предложения используя регулярные выражения.

"I saw Helen yestrday" -match '.*\s(?<name>\w+)\s(?<date>\w+)'
$Matches
Name                           Value
----                           -----
date                           yestrday
name                           Helen
0                              I saw Helen yestrday

notmatch

Этот оператор сопоставления и ведёт себя аналогично оператору -notlike только с отличием того что он не обращает внимание на место символа поиска в строке.

"my home here" -notlike "*home*"
"my home here" -notlike "*abc*"
"my home here" -notmatch "home"
"my home here" -notmatch "h[aedb]me"
False
True
False
True

in and notin

Этот оператор себя как оператор -like только здесь вы можете для сравнения передать сразу коллекцию для сопоставления. Т.е. вместо того чтобы сопоставлять по одному значению вы делаете множественное сопоставление.

"avb" -in  "avb", "def"
"avb" -in  "asd", "def", "dasd", "derwerf", "grtg"
True
False
"avb" -notin  "avb", "def"
"avb" -notin  "asd", "def", "dasd", "derwerf", "grtg"
False
True

replace

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

Пример с изменением расширения всех log файлов в текущей директории.

Get-ChildItem *.log | Rename-Item -NewName { $_.name -replace  '\.log$','.txt' }

Если вам важна чувствительность к регистру можно воспользоваться оператором -creplace.

"my home here" -replace "home", "****"
"my home here" -replace "\s(\w+)\s", " **** "
"my home here" -replace "HOME", "****"
"my home here" -creplace "HOME", "****"
my **** here
my **** here
my **** here
my home here

is and isnot

Операторы сравнения типов (-is и -isnot) используются для определения того, относится ли объект к определенному типу. Возвращает Boolean значение: true или false.

"abs" -is [int]
"abs" -isnot [int]
123 -is [int]
123 -isnot [int]
"abs" -is [string]
False
True
True
False
True

PowerShell: Операторы сравнения

SSH: Авторизация по ключу

PowerShell: Как создать новый файл

Просмотров: 872Комментарии: 0
How-ToPowerShell
PowerShellоператоры сравнения

Продолжаю писать себе и Вам небольшую шпаргалку по языку PowerShell. Сегодня речь пойдет о операторах сравнения.

По умолчанию все операторы сравнения не являются чувствительными к регистру.

ОператорNameRUS Nane
-eqEqualРавно
-neNot equalНе равно
-geGreater than or equalБольше или Равно
-gtGreater thanБольше
-ltLess thanМеньше
-leLess than or equalМеньше или равно
-likeLess than or equalИспользование символов подстановки для поиска соответствия образцу
-notlikeWildcard comparisonИспользование символов подстановки для поиска несоответствия образцу
-matchRegular expression comparisonИспользование регулярных выражений для поиска соответствия образцу
-notmatchRegular expression comparisonИспользование регулярных выражений для поиска несоответствия образцу
-replaceReplace operatorЗаменяет часть или все значение слева от оператора
-containsContainment operatorОпределение, содержит ли значение слева от оператора значение справа. В отличие от предыдущих операторов, результатом является булево значение
-notcontainsContainment operatorОпределение того, что значение слева от оператора не содержит значение справа. Результатом является булево значение

Для сравнения с учетом регистра к команде подставляется префикс «c». Для примера, оператор -eq с зависимостью от регистра изменяется на «-ceq«.

Для явно заданного независящего от регистра сравнения к команде подставляется префикс «i». Пример: оператор -replace без зависимости от регистра будет «-ireplace«

Операторы сравнения типов данных в PowerShell

ОператорRUS Name
-isЯвляется типом
-isnotНе является типом
asКак тип, без ошибки если возникает неудача преобразования

Логические операторы сравнения в PowerShell

ОператорRUS Name
-andОба условия должны быть истины, чтобы выражение было истинно
-orОдно или оба условия должны быть истины, чтобы выражение было истинно
-xorОдно условие должно быть истинно, а второе должно иметь значение «ложь», чтобы выражение было истинно
-notУказанные условия должны иметь значение «ложь», чтобы выражение было истинно
!Указанные условия должны иметь значение «ложь», чтобы выражение было истинно

Операторы сравнения PowerShell — Javatpoint

следующий →
← предыдущая

Операторы сравнения используются в PowerShell для сравнения значений. По умолчанию все операторы сравнения чувствительны к регистру. Эти операторы помогают нам находить, тестировать, сравнивать, изменять и заменять данные и информацию.

PowerShell поддерживает следующие операторы сравнения:

  1. Операторы равенства
  2. Операторы сопоставления
  3. Операторы содержания
  4. Сменные операторы
  5. Тип Операторы

Операторы равенства

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

Ниже приведен список операторов сравнения на равенство:

  1. -экв (равный)
  2. -ne (не равно)
  3. -gt (Больше чем)
  4. -ge (больше или равно)
  5. -lt (Меньше)
  6. -le (меньше или равно)

-экв (равный)

Если значения равны, этот оператор возвращает логическое значение TRUE , иначе False .

Пример: В следующем примере показано, как использовать оператор -eq (равно):

$а=10
$б=10
($а-экв $б)

Последняя команда в этом примере отображает логическое значение TRUE , потому что оба значения переменных одинаковы.

-ne (Равный)

Если значения не равны, этот оператор возвращает логическое значение TRUE , иначе False .

Пример: В следующем примере показано, как использовать оператор -eq (равно):

$а=10
$б=10
($a-ne $b)

Последняя команда в этом примере отображает логическое значение FALSE , так как значения обеих переменных совпадают.

-gt (Больше чем)

Если значение переменной в левой части оператора больше, чем значение переменной в правой части оператора, этот оператор возвращает логическое значение TRUE , в противном случае возвращает False .

Пример: В следующем примере показано, как использовать оператор -gt (больше):

$а=20
$б=10
($a-gt$b)

Последняя команда в этом примере отображает логическое значение TRUE , поскольку значение переменной $a больше, чем $b .

-ge (больше или равно)

Если значение переменной в левой части оператора больше или равно значению переменной в правой части оператора, этот оператор возвращает логическое значение TRUE , в противном случае возвращает False .

Пример: В следующем примере показано, как использовать оператор -ge (больше или равно):

$а=10
$б=10
($a-ge$b)

Последняя команда в этом примере отображает логическое значение TRUE , поскольку значения обеих переменных $a и $b одинаковы.

-л (менее)

Если значение переменной в левой части оператора меньше значения переменной в правой части оператора, этот оператор возвращает логическое значение TRUE , в противном случае возвращает Ложь .

Пример: В следующем примере показано, как использовать оператор -lt (меньше чем):

$а=10
$б=20
($a-lt$b)

Последняя команда в этом примере отображает логическое значение TRUE , поскольку значение переменной $a меньше, чем $b .

-le (меньше или равно)

Если значение переменной в левой части оператора меньше или равно значению переменной в правой части оператора, этот оператор возвращает логическое значение TRUE , иначе возвращает False .

Пример: В следующем примере показано, как использовать оператор -le (меньше или равно):

$а=10
$б=10
($а-ле $б)

Последняя команда в этом примере отображает логическое значение TRUE , поскольку значения обеих переменных $a и $b одинаковы.

Операторы сопоставления

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

Ниже приведен список соответствующих операторов:

  1. — как
  2. — не похоже на
  3. — соответствует
  4. — не соответствует

-подобный

Оператор -like возвращает логическое значение TRUE , если строки сопоставляются с использованием подстановочных знаков.

Примеры: Следующие примеры описывают использование оператора -like:

Пример 1:

$а=»PowerShell»
$b=»PowerShell»
$a — как $b

Последняя команда в примере 1 возвращает значение TRUE , поскольку обе строки одинаковы.

Пример 2:

$а=»PowerShell»
$b=»*Оболочка»
$a — как $b

Последняя команда в этом примере возвращает значение TRUE , поскольку в переменной 9 присутствует строка « Shell ».0008 $a .

-неподобие

Оператор -notlike возвращает логическое значение TRUE , если строки не совпадают с использованием подстановочных знаков.

Примеры: Следующие примеры описывают использование оператора -notlike:

Пример 1:

$а=»PowerShell»
$b=»окна»
$a — не похоже на $b

Последняя команда в приведенном выше примере возвращает значение TRUE , поскольку строки не совпадают.

Пример 2:

$а=»PowerShell»
$b=»*Оболочка»
$a — не похоже на $b

Последняя команда в этом примере возвращает значение False , поскольку в переменной $a присутствует строка « Shell ».

-матч

Оператор -match возвращает логическое значение TRUE , если строки сопоставляются с использованием подстановочных знаков. Если ввод представляет собой список, оператор -match возвращает совпадающие элементы списка.

Пример:

$a=»Январь», «Февраль», «Март», «Апрель»
$b=»Фев»
$a — соответствует $b

Последняя команда в этом примере возвращает строку « февраль «.

— не соответствует

Оператор -notmatch возвращает логическое значение True , если строки не совпадают с использованием подстановочных знаков.

Примеры: Следующие примеры описывают использование оператора -notmatch:

Пример 1:

$а=»PowerShell»
$b=»элл»
$a — не соответствует $b

Последняя команда в этом примере возвращает значение FALSE , так как строка « ell » присутствует в строке переменной $a .

Пример 2:

$a=»Январь», «Февраль», «Март», «Апрель»
$b=»Фев»
$a — не соответствует $b

Последняя команда в этом примере возвращает следующие строки:

январь
Маршировать
апрель
 

Операторы содержания

Операторы включения аналогичны операторам равенства. Эти операторы всегда возвращают логическое значение True , когда значение в правой части оператора существует в наборе значений в левой части оператора, в противном случае возвращается False .

Список операторов содержания:

  1. -содержит
  2. — не содержит
  3. — в
  4. — не в

— Содержит

Этот оператор возвращает логическое значение TRUE , если значение в правой части оператора существует в наборе значений в левой части оператора.

Пример:

$a=»Январь», «Февраль», «Март», «Апрель»
$b=»Март»
$a — содержит $b

Последняя команда в этом примере возвращает True .

-не содержит

Этот оператор возвращает логическое значение TRUE , если значение в правой части оператора не существует в наборе значений в левой части оператора.

Пример:

$a=»Январь», «Февраль», «Март», «Апрель»
$b=»Март»
$a — не содержит $b

Последняя команда в этом примере возвращает False .

Этот оператор возвращает логическое значение TRUE , если значение в левой части оператора существует в наборе значений в правой части оператора.

Пример:

$b=»Март»
$b=»Февраль», «Март», «Апрель»
$a -in $b

Последняя команда в этом примере возвращает True .

-не в

Этот оператор возвращает логическое значение TRUE , когда значение в левой части оператора не существует в наборе значений в правой части оператора.

Пример:

$b=»Март»
$b=»Февраль», «Март», «Апрель»
$a — не в $b

Последняя команда в этом примере возвращает False .

Сменный оператор

Оператор замены (-replace) — это оператор, который заменяет все или часть значения указанным значением с помощью регулярного выражения.

Следующий оператор представляет собой синтаксис оператора -replace :

<ввод> <оператор> <оригинал> , <замена>

В этом синтаксисе используются два аргумента: исходный и замещающий. Они разделены запятой.

Пример:

$a=»Операционная система Windows и Linux»
$a — заменить «Linux» на «MacOS»

Вторая команда в этом примере отображает следующий вывод:

Операционная система Windows и MacOS
 

Операторы сравнения типов

Операторы сравнения типов — это те операторы, которые возвращают логическое значение TRUE , когда значение в левой части оператора указано как тип Microsoft .NET, в противном случае возвращает False .

PowerShell поддерживает следующие два оператора сравнения типов:

  1. — это
  2. — не

-есть

Этот оператор возвращает True , когда значение в левой части оператора указано как тип Microsoft .NET.

Пример:

$а=1
$a — это [число]

Вторая команда в примере отображает логическое значение True , поскольку значение переменной $a является целым числом .

— не

Оператор -isnot возвращает логическое значение True , если значение в левой части оператора не указано как тип Microsoft .NET.

Пример:

$а = «1»
$a — это [число]

Вторая команда в примере отображает логическое значение True , поскольку значение переменной $a представляет собой строку .


Следующая темаЛогические операторы

← предыдущая
следующий →

Операторы сравнения в PowerShell | Типы операторов сравнения

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

Операторы сравнения

Windows PowerShell использует указанные ниже операторы сравнения, и по умолчанию они нечувствительны к регистру. Чтобы выполнить операцию с учетом регистра, просто нужно ввести «c» перед приведенными ниже операторами. Например, -clike, -cne, -ceq и т. д.

-eq Равно
-не Не равно
-gt Больше
-ge Больше или равно
Менее
-ле Меньше или равно
подобный Проверяет соответствие части строки (сравнение с подстановочными знаками)
-неподобие Проверяет, не совпадает ли часть строки (сравнение с подстановочными знаками)
— совпадение Сравнение регулярных выражений
— не соответствует Сравнение регулярных выражений
-содержит Оператор содержания
-не содержит Оператор без содержания
В операторе
— не в Не в операторе
-Заменить Заменяет шаблон строки

Примеры реализации операторов сравнения

Вот несколько примеров операторов сравнения, приведенных ниже с примерами:

1.

–eq: равно

Этот оператор используется для проверки равенства между значениями. Они должны точно совпадать, и это не зависит от регистра. Вывод будет True или False. Например,

Вы также можете сравнить два разных типа данных.

Вы также можете сравнивать несколько значений с одним значением.

Если вы используете оператор –ceq, то сравнение будет чувствительным к регистру.

2. –ne: не равно

Противоречит операции «равно». Если значение совпадает, то оно вернет FALSE, иначе вернет TRUE.

Для нескольких значений:

3. –gt: больше

Сравнивает значение левой части с правой стороной, и результат будет ИСТИНА или ЛОЖЬ в зависимости от значений. В приведенном ниже примере он сравнивает 5 с 6 и проверяет, больше ли оно 6, и дает ответ ЛОЖЬ.

Когда вы сравниваете два символа, он проверяет их значение ASCII и предоставляет результаты на его основе. Значение ASCII «а» равно 97, а «с» равно 99, поэтому «с» больше, чем «а». В результате второе предложение ИСТИННО.

Если вы сравните несколько символов вместе, то он проверит значение ASCII первых символов с обеих сторон и предоставит соответствующие результаты. Например,

В приведенном выше первом предложении значение ASCII «d» больше, чем «a», а во втором предложении значение ASCII «a меньше, чем «b». Для сравнения нескольких значений.

4. –ge: больше равно

Проверяет, больше или равно значение левой стороны значению правой стороны.

5. –lt: Меньше

Проверить, меньше ли значение левой стороны значения правой стороны.

6. –le: Меньше или равно

Проверяет, меньше ли значение левой стороны, чем равное значению правой части.

7. – Нравится

Сопоставляет левую часть значения с правым значением с подстановочным знаком (*).

Подстановочный знак (*), при применении проверяет, содержится ли часть в строке или нет. Если он применяется после определенного значения (например, This *), то он проверяет, существует ли это слово + строка-преемник или нет. В первом примере.

  • Слово: Это
  • Строка преемника: Powershell

Если применяется перед определенным словом, то проверяется, существует ли конкретное слово + строка приоритета или нет. Во втором примере.

  • Слово: Powershell
  • Предыдущая строка: Это

В третьем примере подстановочный знак (*) применяется после слова «Powershell», и слово совпадает, но последующая строка отсутствует, поэтому на выходе — False. В четвертом примере подстановочный знак (*) применяется с обеих сторон, поэтому он проверяет, существует ли строка до или после него, другими словами, упомянутое слово является частью этой строки. Итак, здесь вывод TRUE.

8. –NotLike

Противопоставляется оператору Like, но определение для подстановочного знака остается тем же, и меняется только вывод.

9.

–Match

Соответствует строке с использованием регулярного выражения. Когда вход является скалярным, он автоматически заполняет переменную $matches.

$ совпадений

Имя         Значение

—-               —–

0                  coming

Чтобы найти совпадение хотя бы с одним из символов, поместите их в [ ].

В приведенном выше примере соответствует символ «c». Чтобы соответствовать хотя бы одному из символов в непрерывном диапазоне [диапазон].

Здесь символы от n до r [без учета регистра] будут сравниваться со строкой, а «o» и «p» совпадают. Следовательно, вывод ИСТИНА.

10. –NotMatch

Противоречит оператору Match. Если совпадение найдено, возвращается false или наоборот.

Имя              Значение

—-                   —– ближайшие

11. — Содержит

: Оператор содержания

Сообщает, включает ли коллекция эталонных значений точное (без учета регистра) одиночное значение. Если да, то возвращает TRUE, иначе FALSE.

Синтаксис:

<Эталонные значения> -Содержит <Тестовое значение>

Приведенный выше вывод является ЛОЖНЫМ, поскольку левая сторона содержит два значения. Но если вы сохраните их в переменной и сопоставите их, вывод будет TRUE.

Для операций с учетом регистра используйте оператор –ccontains.

12. —notContains: оператор включения (в отличие от contains)

Если тестовое значение точно совпадает с набором эталонных значений, то выводится ЛОЖЬ. В противном случае вывод TRUE.

13. -in

Аналогичен оператору Contain, только синтаксис изменен. -в оператор был введен в Powershell 3.0. Если тестовое значение соответствует эталонным значениям, возвращается значение TRUE, в противном случае — FALSE.

Синтаксис:

-in

В приведенном выше примере «Shell» не совсем соответствует Powershell.

14. –notin: не в операторе (в отличие от оператора -in)

Если проверочное значение точно соответствует эталонным значениям, возвращается ЛОЖЬ, в противном случае – ИСТИНА.

15. – Заменить: Изменяет указанное значение

Синтаксис:

<Строка> -replace <Старое значение>,<Новое значение>

Чтобы заменить значение в переменной

Примечание: Есть два совпадающих значения «есть», поэтому он заменил два значения.

16. Другие аналогичные операторы

Существуют и другие аналогичные операторы, упомянутые ниже.

а. Побитовые операторы

-bAnd Побитовое И
-бор Побитовое ИЛИ (включительно)
-bXor Побитовое ИЛИ (исключающее)
-bНе Побитовое НЕ
-шл Сдвиг влево
-шр Сдвиг вправо

2.