![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Условие - любые два из всех |
|
PowerShell - [решено] Условие - любые два из всех
|
fascinating rhythm Сообщения: 6705 |
Привет!
Подскажите, пожалуйста, что-то я торможу. Есть несколько переменных. Понадобилось написать условие, в котором любые две переменные из набора должны быть равны 2, иначе тревога. Можно, конечно, и так написать: $1 = 4 $2 = 4 $3 = 2 if (($1 -ne 2 -and $2 -ne 2) -or ($2 -ne 2 -and $3 -ne 2) -or ($1 -ne 2 -and $3 -ne 2)) { "Тревога!" } else { "ОК" } Как грамотно написать условие? |
|
------- Отправлено: 09:28, 19-01-2022 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать DJ Mogarych, Ни разу не писал здесь посты в PowerShell - далёк от него.
Цитата DJ Mogarych:
|
|
------- Последний раз редактировалось megaloman, 19-01-2022 в 17:19. Отправлено: 15:54, 19-01-2022 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Deadooshka Сообщения: 2566
|
Профиль | Отправить PM | Цитировать судя по условию, если любые две переменные не равны двум, то "тревога". Для тревоги находим первую пару переменных, которые все не 2. Непонятно, для чего нужен полный перебор пар переменных, и нужен ли. Если хотя бы две из набора не равны 2, то при полном переборе они встретятся.
|
Отправлено: 17:03, 19-01-2022 | #12 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать megaloman, интересный подход, спасибо.
Sham, условие такое - из всех переменных две обязательно должны быть равны 2, иначе тревога. |
------- Отправлено: 17:35, 19-01-2022 | #13 |
Ветеран Сообщения: 4635
|
Профиль | Отправить PM | Цитировать Цитата Sham:
Непонятно было по первому посту. Цитата DJ Mogarych:
Вы выше говорили, что не только равны между собою, но и ещё конкретному значению?! 2 Вы приводили лишь только в качестве конкретного примера, не так ли? |
||
Отправлено: 17:49, 19-01-2022 | #14 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 17:51, 19-01-2022 | #15 |
Deadooshka Сообщения: 2566
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:03, 19-01-2022 | #16 |
Ветеран Сообщения: 4635
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
UPD: Как Мне кажется, предварительной сортировкой массива удобней пользоваться, т.к., зачастую, уже имеется готовый функционал, полагаю и в powershell тоже. Ну, а на выходе Мы уже имеем "подготовленный" массив, в котором уже достаточно сравнить только два соседних элемента - (i) и (i+1). |
|
Последний раз редактировалось NickM, 19-01-2022 в 19:05. Отправлено: 18:54, 19-01-2022 | #17 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
$a = 1 $b = 2 $c = 3 $d = 2 $e = 5 $arr = @($a, $b, $c, $d, $e) $alarm = $arr|group|where {$_.Count -gt 1} if ($alarm) {'Alarm!'} |
|
Последний раз редактировалось alpap, 20-01-2022 в 02:50. Отправлено: 01:52, 20-01-2022 | #18 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
ЗЫ Условие надо бы уточнить: только две, или не меньше двух? |
|
------- Последний раз редактировалось YuS_2, 20-01-2022 в 08:34. Отправлено: 08:15, 20-01-2022 | #19 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11 = 1, 32, 3.141526, 4, 5, 2, 754, 3.141526, 2, 398, 222 $x, $nx = 3.141526, 2 $Alarm = 0 ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11).ForEach({ $Alarm += $_ -eq $x }) if ($Alarm -ge $nx) {"OK"} else {"Тревога"} |
------- Последний раз редактировалось megaloman, 20-01-2022 в 19:52. Отправлено: 19:18, 20-01-2022 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление всех файлов с заданными разрешениями из указанной папки и всех ее подпапок | Alexander_88 | Скриптовые языки администрирования Windows | 5 | 30-11-2015 00:59 | |
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt | kot318 | Скриптовые языки администрирования Windows | 10 | 12-02-2015 15:48 | |
CMD/BAT - Удаление всех файлов из подпапок | Scumtron | Скриптовые языки администрирования Windows | 2 | 17-10-2013 16:15 | |
Win32 API - Копирование всех файлов из директории | DaRiYs | Программирование и базы данных | 4 | 03-09-2009 23:36 | |
Условие кодировки. Редактирование файла из cmd. | Mss | Автоматическая установка Windows 2000/XP/2003 | 4 | 19-05-2005 23:25 |
|