Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Пакетная обработка звуковых файлов со схожими именами

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


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

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


Изменения
Автор: n4yk
Дата: 26-10-2015
Здравствуйте, пытаюсь написать скрипт для массовой обработки звуковых файлов и последующего складывания этих файлов в отдельной директории:

Файлы в папке выглядят так:
  • 2014_10_01_00_23_26_250_1030.wav
  • 2014_10_01_00_23_26_250_2001.wav
  • 2014_10_01_00_26_27_937_1030.wav
  • 2014_10_01_00_26_27_937_2001.wav
  • 2014_10_01_00_26_44_906_1030.wav
  • 2014_10_01_00_26_44_906_2001.wav


Нужно разбить это список на группы по 2 файла и передать их в утилиту для склейки звуковых файлов.

Пример группы файлов:
  • 2014_10_01_00_23_26_250_1030.wav
  • 2014_10_01_00_23_26_250_2001.wav

В обоих файлах отличается только последние цифры перед расширением (т.е. файлов начинающихся на "2014_10_01_00_23_26_250_" гарантировано будет только 2)

Команда для этих файлов выглядит как sox.exe -v 2.0 -m %файл_один% %файл_два% -C 48.99 converted/файл_один.mp3 highpass 10 2

Удалось только написать bat-файл для обработки 2х файлов Drag&Drop'ом, но файлов тысячи и обработка по 2 файла вручную очень муторно, направьте плиз в нужную сторону, решение подойдет любое - bat, vbs и т.д.
Спасибо.

Текущий скрипт:

Код: Выделить весь код
@echo off
cd %~dp0
@mkdir converted 2> nul
@mkdir source 2> nul
%~dp0\..\sox.exe -v 2.0 -m %1 %2 -C 48.99 converted/%~n1.mp3 highpass 10 2
@move %1 source/%~nx1 1> nul
@move %2 source/%~nx2 1> nul

echo [OK] Файл %~nx1 и %~nx2 успешно склеены в файл /converted/%~n1.mp3
pause

Отправлено: 13:02, 26-10-2015

 

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


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

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


Вобщем пока ждал ответа, сам разобрался, всем спасибо.

P.S. Если кому нужен аналог, готовый код: (с возможностью выбора папки через стандартный Windows-диалог)

Код: Выделить весь код
@if (@a==@b) @end /*

:: batch portion

@echo off
setlocal
ECHO ЗАПУСК...
ECHO.
ECHO Выберите папку с записями:
for /f "delims=" %%I in ('cscript /nologo /e:jscript "%~f0"') do (
    cd /d %%I
	set zapisi=%%I
)
IF "!zapisi!"=="" (
echo Вы не выбрали папку с записями.
) else (
rem cd %~dp0
@mkdir converted 2> nul
@mkdir source 2> nul
Setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /s /a-d "*.wav"') do (
	Set File=%%i
	For /F "delims=" %%A In ("!File!") Do (
		For /F "tokens=1,2,3,4,5,6,7,8,9 delims=_" %%B In ("%%~nA") Do ( 
			Set Name=%%B_%%C_%%D_%%E_%%F_%%G_%%H_
		) 
	)
	for /f "delims=" %%k in ('dir /b /s /a-d "!Name!*.wav"') do ( 
		IF "!file1!"=="" ( 
			set file1=%%k
			) else (
			set file2=%%k
			)
	)
	if exist !file1! (
		if exist !file2! (
			for %%a in (!file1!) do set file1name=%%~na
			for %%a in (!file2!) do set file2name=%%~na
			%~dp0\sox.exe -v 2.0 -m !file1! !file2! -C 48.99 converted\!file1name!.mp3 highpass 10 2 2>nul
			move /Y !file1! source\!file1name!.wav 1> nul
			move /Y !file2! source\!file2name!.wav 1> nul
			echo [OK] Saved to "\converted\!file1name!.mp3"
		)
	)
	set file1=
	set file2=
)
start explorer.exe !zapisi!
echo ВСЕ ЗАПИСИ УСПЕШНО СКОНВЕРТИРОВАНЫ
)
pause
goto :EOF

:: JScript portion */

var shl = new ActiveXObject("Shell.Application");
var folder = shl.BrowseForFolder(0, "Please choose a folder.", 0, 0x00);
WSH.Echo(folder ? folder.self.path : '');

Отправлено: 18:04, 26-10-2015 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Пакетная обработка в WinRAR angelp Скриптовые языки администрирования Windows 7 28-08-2015 11:24
CMD/BAT - Создание папок и файлов со с случайными именами. Kirstem Скриптовые языки администрирования Windows 0 26-04-2015 20:06
Lightroom 4-пакетная обработка jonik7 Цифровое изображение 0 20-08-2013 10:56
Пакетная обработка видео zhecka Видео и аудио: обработка и кодирование 17 09-12-2010 14:42
Пакетная обработка видео Anton Budkin Видео и аудио: обработка и кодирование 9 21-11-2008 12:43




 
Переход