[PowerShell] Пост ненависти к Могучему Шеллу
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Написал я как-то давно один простой скрипт, удаляющий в указанной директории все поддиректории с заданными именами:
Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue
Давно им не пользовался, а тут он понадобился. Запускаю — ничего не удалил.
«WTF?», думаю. Стал копаться. Возился-возился, всё перебрал, и список предварительно создал, и имена менял — всё равно ничего не удаляет. В конце-концов в их доке прочитал: «Вообще-то, -Include глючит, когда используется вместе с -Recurse, так что юзайте костыльную конструкцию.»:
Because the Recurse parameter in Remove-Item has a known issue, the command in this example uses Get-ChildItem to get the desired files, and then uses the pipeline operator to pass them to Remove-Item.
Ну, ладно, переписал с использованием данного костыля. Один хрен — не удаляет ничего. Более того, Get-ChildItem с -Include возвращает пустоту. Опять что я только не делал, как я только не извращался с параметрами — не работает. Главное, с -Exclude работает, а с -Include никак. Целый день на это убил^ всё думал, что где-то в параметрах накосячил, что не учел какой-то хитрый нюанс. И что в итоге оказалось? Поставил их PS7.1 — в нем заработало. В нем даже первый безкостыльный вариант с использованием только Remove-Item заработал. В общем, оказался их баг.
Но намучившись с их Могучим Шеллом, я полез в Google почитать, отчего их шелл имеет такой зубодробительный синтакс. Млин, они его позиционируют, как .NET для консоли, но синтаксом C# у них даже не пахнет. Вместо него…
В общем, наткнулся на такую статью: "What I Hate About PowerShell". Как говорится: «I couldn't agree more.»
Подозреваю, что команда Могучего Шелла — это сборище обожателей Bash'а.
— Давайте, наконец, сделаем для Windows консоль, в которой можно будет писать сложные скрипты. А то наш cmd устарел, да так, что нам уже немножечко стыдно.
— Давайте! На основе чего будем делать? У нас уже есть VBScript, JScript. Наконец, у нас есть языки для .NET: C#, VB. Может, на C# сделаем? В смысле, будем использовать C# как язык для скриптов для нашей консоли. Тем более, мы же хотим туда .NET классы подтянуть.
— Нее, ну ты чё, чувак, какой C#? Настоящие гики юзают bash! Вот и мы давайте сделаем bash для Windows. Плевать, что синтакс для bash писала, видимо, толпа укуренных хипстеров в далеких 1960-х. В общем, чем сложнее, тем лучше! Интуитивная понятливость — это для слабаков! Во время написания скрипта на нашем языке юзер в обязательном порядке должен проклясть все на свете и изобрести парочку новых ругательств. Только такой язык имеет право на жизнь. Вон, линуксоиды всю жизнь так живут и получают от этого всего неизъяснимый кайф. А мы чем хуже?
===========
Источник:
habr.com
===========
Похожие новости:
- [Системное администрирование, PowerShell] Автоматизация обслуживания компьютерного класса на Powershell
- [PowerShell, Виртуализация, Облачные вычисления, Системное администрирование] Еще раз про живую миграцию: как перенести виртуальные машины Hyper-V, да побыстрее
- [PowerShell, Облачные сервисы, Системное администрирование] Изменяем и удаляем Azure VMs, используя PowerShell (перевод)
- [PowerShell, Microsoft SQL Server] Возврат значения из powershell invoke-command агенту SQL-Server
- [PowerShell, Разработка под Windows, Софт] В Microsoft призвали пользоваться PowerShell. СMD продолжит поддерживаться
- [Информационная безопасность, Open source, Системное администрирование] Продвинутое логирование Windows. Ищем mimikatz
- [Системное администрирование, PowerShell, IT-инфраструктура, Серверное администрирование] На чьей стороне вы: Push и Pull в Desired State Configuration
- [JavaScript, Программирование, XML, D, WebAssembly] Tree — единый AST чтобы править всеми
- [Системное администрирование, PowerShell, IT-инфраструктура, Серверное администрирование] Just another tool: знакомство с конфигурацией сервисов с помощью Desired State Configuration
- [Анализ и проектирование систем, PowerShell, IT-инфраструктура, Конференции] DGTL Communications Online Meetup 28/05
Теги для поиска: #_powershell, #_powershell, #_cmd, #_powershell
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:13
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Написал я как-то давно один простой скрипт, удаляющий в указанной директории все поддиректории с заданными именами: Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue
Давно им не пользовался, а тут он понадобился. Запускаю — ничего не удалил. «WTF?», думаю. Стал копаться. Возился-возился, всё перебрал, и список предварительно создал, и имена менял — всё равно ничего не удаляет. В конце-концов в их доке прочитал: «Вообще-то, -Include глючит, когда используется вместе с -Recurse, так что юзайте костыльную конструкцию.»: Because the Recurse parameter in Remove-Item has a known issue, the command in this example uses Get-ChildItem to get the desired files, and then uses the pipeline operator to pass them to Remove-Item.
Ну, ладно, переписал с использованием данного костыля. Один хрен — не удаляет ничего. Более того, Get-ChildItem с -Include возвращает пустоту. Опять что я только не делал, как я только не извращался с параметрами — не работает. Главное, с -Exclude работает, а с -Include никак. Целый день на это убил^ всё думал, что где-то в параметрах накосячил, что не учел какой-то хитрый нюанс. И что в итоге оказалось? Поставил их PS7.1 — в нем заработало. В нем даже первый безкостыльный вариант с использованием только Remove-Item заработал. В общем, оказался их баг. Но намучившись с их Могучим Шеллом, я полез в Google почитать, отчего их шелл имеет такой зубодробительный синтакс. Млин, они его позиционируют, как .NET для консоли, но синтаксом C# у них даже не пахнет. Вместо него… В общем, наткнулся на такую статью: "What I Hate About PowerShell". Как говорится: «I couldn't agree more.» Подозреваю, что команда Могучего Шелла — это сборище обожателей Bash'а. — Давайте, наконец, сделаем для Windows консоль, в которой можно будет писать сложные скрипты. А то наш cmd устарел, да так, что нам уже немножечко стыдно. — Давайте! На основе чего будем делать? У нас уже есть VBScript, JScript. Наконец, у нас есть языки для .NET: C#, VB. Может, на C# сделаем? В смысле, будем использовать C# как язык для скриптов для нашей консоли. Тем более, мы же хотим туда .NET классы подтянуть. — Нее, ну ты чё, чувак, какой C#? Настоящие гики юзают bash! Вот и мы давайте сделаем bash для Windows. Плевать, что синтакс для bash писала, видимо, толпа укуренных хипстеров в далеких 1960-х. В общем, чем сложнее, тем лучше! Интуитивная понятливость — это для слабаков! Во время написания скрипта на нашем языке юзер в обязательном порядке должен проклясть все на свете и изобрести парочку новых ругательств. Только такой язык имеет право на жизнь. Вон, линуксоиды всю жизнь так живут и получают от этого всего неизъяснимый кайф. А мы чем хуже? =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:13
Часовой пояс: UTC + 5