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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывод в txt-файл разрешения видео форматов

Ответить
Настройки темы
CMD/BAT - [решено] Вывод в txt-файл разрешения видео форматов

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Нужен батник,который создавал бы список разрешения(НЕ РАСШИРЕНИЯ и НЕ РАЗМЕР(вес)файла,а именно разрешение(например 720х480).Нужно закинуть батник в папку,запустить его и чтобы в этой же папке создался txt-файл с разрешением видео в таком же порядке,как видео в папке.Или может есть программа для показа разрешения видео из папок?Спасибо!
P.S.Функция в проводнике для отображения размеров(разрешения)видео не работает,ничего не показывается.Только у фоток.

Отправлено: 17:44, 22-07-2021

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Вам для каких целей этот файл будет нужен?
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:31, 23-07-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить 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, так:
Код: Выделить весь код
.\script.ps1 -item 'D:\TEST' -filter ('*.mp4','*.mpg') -prop (314,316) -outfiles
- рядом со скриптом будут созданы текстовые файлы с наименованиями, такими же, как и у видеофайлов. Внутри текстовых файлов будут указаны параметры высоты и ширины кадра.
Или просто вывод в консоль:
Код: Выделить весь код
.\script.ps1 -item '.\test' -filter ('*.mp4','*.mpg') -prop (314,316)|select Name,Type,Context

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 23-07-2021 в 09:46.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:27, 23-07-2021 | #3


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Вам для каких целей этот файл будет нужен? »
Просто имеются больше 4000 видео и нужно разрешение у всех посмотреть.Каждое отдельно посмотреть-нереально.

Цитата YuS_2:
Пока, могу предложить вот такой скрипт на powershell:
script.ps1 »
К сожалению у меня Powershell на ПК нету,не работает.Только батники работают

Отправлено: 15:39, 23-07-2021 | #4


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата lyohalyoha:
у меня Powershell на ПК нету »
это, что у Вас за ПК? Установите.

-------
scio me nihil scire. Ѫ


Отправлено: 15:59, 23-07-2021 | #5


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
это, что у Вас за ПК? Установите. »
Он есть у меня,запустил.Второй ваш код ввёл,исправив путь.Но в первый код script.ps1 что именно писать?Можете уточнить?

Отправлено: 17:05, 23-07-2021 | #6


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата lyohalyoha:
Второй ваш код ввёл,исправив путь. »
И? Результат есть?

Цитата lyohalyoha:
Но в первый код script.ps1 что именно писать?Можете уточнить? »
Что уточнить? Там строка запуска скрипта, в которой необходимо указать существующий путь к каталогу с файлами и при необходимости, поправить фильтр для отбора файлов.
Вы запускать пробовали? Текстовые файлы рядом со скриптом создаются?

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:54, 23-07-2021 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата lyohalyoha:
Просто имеются больше 4000 видео и нужно разрешение у всех посмотреть. »
Тогда возьмите MediaInfo и просто «натравите» его на каталог с видеофайлами:
Скрытый текст
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:52, 23-07-2021 | #8


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
И? Результат есть? »
Неа,результатов нету.Текстовые файлы не создаются.Ниже написали,через MediaInfo-я уже так и делаю+использую Notepad++ с мною записанным макросом для удаления лишнего,оставив только строки Ширину и Высоту видео.

Цитата Iska:
Тогда возьмите MediaInfo и просто «натравите» его на каталог с видеофайлами: »
Спасибо большое за совет! Так уже и делаю,выше написал как.

Отправлено: 19:39, 23-07-2021 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывод в txt-файл разрешения видео форматов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход