Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 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