Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
Busla, спасибо, ясно.
Цитата Busla:
есть родные для PoSh типы данных string и int »
|
Поясните подробнее, пожалуйста. Если Вы про [string] и [int] — в чём их «родность» для PowerShell и в чём отличие от [System.String] и [System.Int32]?
Цитата Busla:
проверку директории через [System.IO.Directory]::Exists допустим, понять можно - штатные способы "проглотят", например, путь к реестру »
|
Я полагаю сие более правильным подходом, нежели использование командлета Test-Path. Просто, надёжно и удобно.
Цитата Busla:
хотя в целом - это простой конвейер, если что-то не так с директорией, содержимым - сам командлет выдаст ошибку снабжённую всеми необходимыми атрибутами, на языке пользователя . »
|
Не могу с Вами согласиться, коллега:
Красная портянка бывает и больше.
Цитата Busla:
"Плюнуть" на экран красный текст на иностранном языке - это для кого такое "удобство"? »
|
Для себя. Это привычка.
Цитата Busla:
Оформляете в виде вызываемого скрипта, но он не формирует события ошибки. »
|
Здесь Вы совершенно правы. Надо учиться, как это делать, и как это делать правильно.
Цитата Busla:
Для создания временных файлов есть стандартные механизмы и места, »
|
Угу. Я использовал. Но у ffmpeg.exe есть свои принципы работы с путями, кодировками и конвеером . Потому потребовалось выбирать — либо шашечки, либо ехать.
Цитата Busla:
Зачем вместо штатных команд использовать обращения к библиотекам .NET? »
|
Как и в вышеупомянутом случае — потому что это проще, надёжнее и удобнее.
Цитата Busla:
Синтетическое поле для каждого файла с номером - зачем?! - Они уже в пронумерованном массиве »
|
Потому что у меня возникла проблема — как вменяемо получить индекс элемента из массива объектов, полученного по Get-ChildItem. Можете показать, как сие сделать?
Цитата Busla:
Вместо округления результата деления и отдельный итератор для групп используют целочисленное деления и остаток от целочисленного деления. »
|
Поясните, пожалуйста, подробнее.
Цитата Busla:
Не надо явно указывать `r`n - это платформозависимое соглашение, а что PoSh, что ffmpeg работаею и на mac и на linux. »
|
Я не планирую работу скрипта под иные платформы.
Цитата Busla:
Не надо в памяти формировать файлы - пишите сразу строки в файл »
|
Изначально я так и делал. Потом поменял логику работы. Что будет быстрее на большом количестве файлов — не проверял.
Цитата Busla:
Пути к ffmpeg самое место в параметре по умолчанию, а не в середине скрипта »
|
Соглашусь полностью.
Цитата Busla:
А вот результат работы ffmpeg как раз должен проверяться - сейчас если он не сможет создать видео (места на диске не хватило), скрипт всё равно бодро рапортует об успехе и удаляет исходные изображения. »
|
Соглашусь с оговоркой: всё равно надо смотреть полученный результат «глазками», и решение принимать по факту.
Цитата Busla:
Наличие выходного файла тоже »
|
Видимо, мысль не закончена.
Цитата Busla:
Вместо велосипеда с PromptForChoice можно просто вызвать Remove-Item с параметром -Confirm. »
|
Можно. Для отладки такие вещи:
годятся. Для работы — навряд ли: неподготовленного пользователя такие вопросы вводят в ступор.
Цитата Busla:
Вы так уверены, что выдавать на экран простыню из 960 имён удалённых файлов - хорошая идея? »
|
Нет. Не уверен.
Цитата Busla:
Если они важны - не лучше ли тогда использовать Write-Output - чтобы можно было их по необходимости передать по конвейеру и т.п.? »
|
Угу.
Цитата Busla:
switch с единственным параметром тоже умиляет »
|
Привычка. Во-первых, понятно, что это выбор из вариантов. Во-вторых, сегодняшний switch с двумя ветвями завтра может потребовать трёх и более вариантов выбора, и проще добавить ветви в уже существующую структуру, нежели переписывать if на switch.
|
Отправлено: 21:17, 09-08-2018
| #13
|