|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывод в txt-файл разрешения видео форматов |
|
CMD/BAT - [решено] Вывод в txt-файл разрешения видео форматов
|
Новый участник Сообщения: 26 |
Здравствуйте! Нужен батник,который создавал бы список разрешения(НЕ РАСШИРЕНИЯ и НЕ РАЗМЕР(вес)файла,а именно разрешение(например 720х480).Нужно закинуть батник в папку,запустить его и чтобы в этой же папке создался txt-файл с разрешением видео в таком же порядке,как видео в папке.Или может есть программа для показа разрешения видео из папок?Спасибо!
P.S.Функция в проводнике для отображения размеров(разрешения)видео не работает,ничего не показывается.Только у фоток. |
|
Отправлено: 17:44, 22-07-2021 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Вам для каких целей этот файл будет нужен?
|
Отправлено: 04:31, 23-07-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата lyohalyoha:
Пока, могу предложить вот такой скрипт на powershell: script.ps1
#requires -v 3.0 <# .SYNOPSIS Скрипт для получения строк детализированной информации из файлов. .Description Получает дополнительные свойства из файлов, в зависимости от выбранных параметров. Для получения свойств одного файла, можно указать его с относительным или абсолютным путем. Для массового получения свойств - необходимо указать каталог с файлами. Скрипт параметризированный. .Parameter Items Обязательный: Указываются файлы или каталоги (в случае каталога, будут выбраны файлы содержащиеся в нем по фильтру) .Parameter Filter Необязательный: Фильтр для отбора файлов. Поддерживаются маски .Parameter Propnum Необязательный: Единственный номер параметра или диапазон параметров, или набор параметров. См. примеры .Parameter Recurse Переключатель: При наличии, будет осуществляться рекурсивная выборка файлов из каталогов. Для элементов-файлов, переключатель игнорируется. .Parameter Force Переключатель: При наличии, будут выбираться скрытые, системные и т.п. файлы. .Parameter Outfiles Переключатель: Для осуществления вывода в отдельные файлы. Имя файла будет составлено из имени и расширения обрабатываемого файла и нового расширения .txt Файлы складываются рядом со скриптом. .Example .\script.ps1 -item 'd:\root1','d:\root2','d:\root3\file.mp4' -propnum 27 -recurse -force Это пример выборки файлов, указанных в перечислении -items, для дальнейшей обработки, Будет получено свойство с номером 27. Каталоги из перечисления будут обработаны рекурсивно для выборки всех файлов. .Example .\script.ps1 -item 'd:\root1' -propnum (1..2048) -force Это пример выборки файлов из указанного каталога, для дальнейшей обработки. Будут получены свойства с номерами от 1 до 2048. Выбираются все файлы. .Example .\script.ps1 -item 'd:\root1' -filter ('*.mpg','*.avi','*.mkv','*.mp4','*.3gp','*.vob') ` -propnum 27 |ft Это пример выборки файлов из указанного каталога, для дальнейшей обработки. Будет получено свойство с номером 27. Выбираются только доступные файлы и только с указанными расширениями в фильтре. .Notes Created By YuS Version: 1.00 Date: 2/04/2018 Purpose/Change: Первая версия Version: 2.00 Date: 17/09/2019 Purpose/Change: Изменена логика скрипта, добавлена возможность выборки набора свойств. Добавлена возможность вывода в консоль. Добавлен подсчет общей продолжительности медиафайлов, если выбрано единственное свойство 27. Расширена возможность группировки по параметрам. Поправлены старые баги, добавлены новые. :) .Link ... #> [CmdletBinding()] Param ( [parameter(mandatory=$true)] [string[]]$items, [string[]]$filter = '*.*', [ValidateRange(0,2048)] [int[]]$propnum = 27, [switch]$recurse, [switch]$force, [switch]$outfiles ) function testpth($x){ $pars = @{} $pars.path = [management.automation.wildcardpattern]::escape($x) if ($force){$pars.force = $true} if ($filter){$pars.include = $filter} if(test-path $x -pathtype container){ $pars.path += '\*' if ($recurse){$pars.recurse = $true} dir @pars|?{!$_.psiscontainer} } elseif (test-path $x -pathtype leaf){ gi @pars } else { write-host Path no correct sleep -s 5 break } } function info($var,$k){ process{ $a = new-object -com 'shell.application' $b = $a.namespace($var.directoryname) [int]$i=0 foreach($i in $propnum){ $rslt = $b.getdetailsof($b.parsename($var.name),$i) if($rslt){ [pscustomobject]@{ IDFile = $k IDProp = $i Name = $var.name FullName = $var.fullname DirectoryName = $var.directoryname Type = $b.getdetailsof($null,$i) Context = $rslt } } } } } $arr = $items|%{testpth $_}|%{$n=1}{info $_ $n;$n++} if ($outfiles){ # Подготовка хэш-таблиц с последующей группировкой $p = $arr|group idfile -ashash -asstr # Вывод в отдельные файлы 1..$p.count|%{ if($p."$_".idprop.length -eq 1){ $name = [string]$p."$_".name + '.txt' }else{ $name = [string]$p."$_".name[0] + '.txt' } $p."$_"|select idfile,idprop,fullname,type,context|out-file -lit $name -app -enc utf8 } } else { $arr } if ($propnum.length -eq 1 -and $propnum -eq 27){ try{ $total = [timespan]::new(0,0,(([timespan[]]$arr.context).totalseconds| measure -sum).sum) write-host "Общая продолжительность: $total" -for cyan }catch{ write-host 'Context' не является продолжительностью медиафайла: "`n" $_ -for red } } Использовать из консоли powershell, так: - рядом со скриптом будут созданы текстовые файлы с наименованиями, такими же, как и у видеофайлов. Внутри текстовых файлов будут указаны параметры высоты и ширины кадра. Или просто вывод в консоль: |
|
------- Последний раз редактировалось YuS_2, 23-07-2021 в 09:46. Отправлено: 09:27, 23-07-2021 | #3 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата YuS_2:
![]() |
||
Отправлено: 15:39, 23-07-2021 | #4 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата lyohalyoha:
|
||
------- Отправлено: 15:59, 23-07-2021 | #5 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
![]() |
|
Отправлено: 17:05, 23-07-2021 | #6 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата lyohalyoha:
Цитата lyohalyoha:
Вы запускать пробовали? Текстовые файлы рядом со скриптом создаются? |
||
------- Отправлено: 17:54, 23-07-2021 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:52, 23-07-2021 | #8 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Цитата Iska:
|
||
Отправлено: 19:39, 23-07-2021 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Вывод результатов VBS скрипта в txt файл | Ran_live | Скриптовые языки администрирования Windows | 3 | 07-09-2016 15:13 | |
CMD/BAT - Слияние txt и вывод всех файлов в Unicode | ask2886 | Скриптовые языки администрирования Windows | 12 | 24-02-2016 16:59 | |
CMD/BAT - [решено] Вывод списка команд в txt | Limonica | Скриптовые языки администрирования Windows | 3 | 04-03-2015 01:39 | |
Любой язык - [решено] вывод прав ntfs в txt | batyaPS | Скриптовые языки администрирования Windows | 4 | 10-01-2015 13:36 | |
CMD/BAT - [решено] Сравнение txt файлов и вывод результата | LAKERS824 | Скриптовые языки администрирования Windows | 2 | 08-07-2012 12:48 |
|