Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
Цитата Busla:
передать весь список искомых файлов через Include в Get-ChildItem - интересная идея »
|
С тех пор, как Microsoft начал указывать типы параметров у командлетов — жить стало легче, жить стало веселей .
Цитата Busla:
если вы раскрашиваете сообщения исходя из их разной ценности »
|
Нет, не поэтому. Просто группировка вывода, цветовая дифференциация штанов.
Цитата Busla:
используете стандартные Write-Debug, Write-Verbose, Write-Info - они и сами раскрасят, и ими можно извне хоть как-то управлять »
|
Если бы это были Debug/Verbose/Info сообщения — тогда, да. В данном случае я не вижу нужды наделять простой вывод искусственным смыслом. Я понимаю Вашу мысль, но я вижу ровно два места вывода — stdout и stderr, и не стремлюсь здесь что-то менять. И, к тому же, мне нужно, чтобы пользователь, например, гарантированно видел сообщение о той или иной ошибке.
Цитата Busla:
но вообще, это бесполезное самолюбование - как в кино: по экрану бежит куча текста который никто не читает и в принципе не в состоянии прочитать и проанализировать. »
|
У меня — не бежит. У меня — при нужде передаётся в редактор Far Manager'а:
Код: 
edit:< powershell.exe -File "C:\Мои проекты\0235\0003.ps1"
Зачем тогда пользовать консоль, если не пользовать все её возможности?!
Цитата Busla:
Лучше бы уж тогда Write-Progress впилили »
|
Для удаления нескольких сотен файлов? Не вижу особого смысла. Основной временно́́й расход здесь займёт поиск файлов — FindFirst()/FindNext(), а само удаление будет тупо в уже заполненный кэш писаться.
Цитата Busla:
заворачивать всё в глобальные if - ну так себе подход неудобно отслеживать к чему относится закрывающая скобка и else - разверните условие и сделайте выход сразу после if »
|
Редактор вменяемый фолдинг не поддерживает, что ли? Я вот как раз наоборот, терпеть не могу кучу этих вечных выходов посерёд кода. Как по мне — так в моём подходе зараз виден весь алгоритм целиком и полностью. Впрочем, это кому как, соглашусь, что зависит сие от восприятия конкретного человека.
Цитата Busla:
.Net библиотеки не знают ничего про PSdisk, поэтому ваши скритпы невозможно тестировать стандартным Pester
метод файлового объекта Delete() вместо Remove-Item - тоже та ещё засада - я не могу в начале скрипта к примеру написать $PSDefaultParameterValues.Add("Remove-Item:WhatIf",$True) и посмотреть: что же происходит »
|
Вы не поверите: чем теснее мне приходится общаться с командлетами, тем больше мне начинает нравиться прямое использование методов .Net — меньше шансов нарваться на какой-нибудь очередной затык в реализации командлета .
|
Отправлено: 06:03, 09-01-2019
| #10
|