Давным-давно я написал простой скрипт, который удалял все подкаталоги с заданными именами в указанном каталоге:
Давно им не пользовался, но теперь он мне понадобился.Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue
Запускаю - ничего не удаляется.
«Что за чертЭ» — думаю я.
Я начал копать.
Я возился-возился, все перебрал, заранее список создал, названия поменял - все равно ничего не удаляется.
Наконец, в их документе я читаю: « На самом деле, -Include приводит к ошибкам при использовании вместе с -Recurse, поэтому используйте конструкцию-костыль.
":
Поскольку параметр Recurse в Remove-Item имеет известную проблему, команда в этом примере использует Get-ChildItem для получения нужных файлов, а затем использует оператор конвейера для передачи их в Remove-Item.Ну да ладно, переписал с помощью этого костыля.
Черт побери - ничего не удаляет. Более того, Get-ChildItem С -Включать возвращает пустоту.
Опять же, что бы я ни делал, как бы ни искажал параметры, не получилось.
Главное с -Исключать работает, но с -Включать ни за что.
Я потратил на это целый день: все время думал, что где-то в параметрах я накосячил, что не учел какой-то хитрый нюанс.
И что произошло в конце концов? Я установил их на PS7.1 и все заработало.
Он даже содержит первый вариант без костылей, использующий только Убрать предмет заработал.
В общем, это оказался их баг.
Но помучившись с их Mighty Shell, я зашёл в Google почитать, почему у их оболочки такой умопомрачительный синтаксис.
Блин, они позиционируют его как .
NET для консоли, а синтаксисом C# даже не пахнут. Вместо него… Во всяком случае, я наткнулся на эту статью: " Что я ненавижу в PowerShell Как говорится: «Не могу не согласиться».
Подозреваю, что команда Mighty Shell — это кучка фанатов Bash. — Давайте наконец сделаем консоль для Windows, в которой можно будет писать сложные скрипты.
А то наш cmd устарел настолько, что нам уже немного стыдно.
- Давайте! На основании чего мы будем делать? У нас уже есть VBScript, JScript. Наконец, у нас есть языки для .
NET: C#, VB. Может быть, мы можем сделать это на C#? Я имею в виду, что мы будем использовать C# в качестве языка сценариев для нашей консоли.
Более того, мы хотим добавить туда .
NET-классы.
- Нет, что ты делаешь, чувак, какой C#? Настоящие гики используют bash! Итак, давайте сделаем bash для Windows. Меня не волнует, что синтаксис bash, видимо, был написан толпой обкуренных хипстеров еще в 1960-х.
В общем, чем сложнее, тем лучше! Интуитивность – для слабаков! При написании сценария на нашем языке пользователь должен проклинать все на свете и придумать пару новых матерных слов.
Только такой язык имеет право на жизнь.
Посмотрите, линуксовцы так живут всю жизнь и получают от всего этого необъяснимый кайф.
Чем мы хуже? В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Используете ли вы PowerShell и комфортно ли вам с ним работать? 26,42% Не пользуюсь 42 28,3% Пробовал, не понравилось 45 28,93% Пользуюсь и всем доволен 46 11,95% Пользуюсь, но не доволен 19 4,4% Ура ! Наконец-то я могу использовать свой любимый bash в Windows! Проголосовали 7 159 пользователей.
31 пользователь воздержался.
Теги: #PowerShell #cmd
-
Путеводитель По Devops С Express 42
19 Oct, 24 -
Идеальные Требования И Как С Ними Справиться
19 Oct, 24 -
Собираем И Запускаем Бюджетный Шестигранник.
19 Oct, 24