Могучий Пост Ненависти Shell

Давным-давно я написал простой скрипт, который удалял все подкаталоги с заданными именами в указанном каталоге:

   

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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.