CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Ответить
Аватара пользователя
Metallor

CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Metallor »

Здравствуйте, помогите пожалуйста в решении следующей проблемы:

В папке находятся ≈ 3000 коротких mp3 файла, упорядоченных в алфавитном порядке.

Необходимо объединить пакетно каждые 2 файла списка между собой, т.е.:

1-й со 2-м,

3-й с 4-м,

5-й с 6-м, и т.д.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Iska »

Имеется 3000 файлов, скачанных с сайта оксфордского словаря с дикторским произношением английских слов, также есть в наличии 3000 файлов с русскими словами, которые являются переводом первых трех тысяч.

Для того, чтобы иметь возможность в плейлисте плеера проигрывать слова в случайном порядке (а не в алфавитном), необходимо к каждому файлу с английским словом прикрепить файл с русским переводом. В противном случае при проигрывании в случайном (рандомном) порядке не происходит связка - сначала английское слово, а затем соответствующий ему перевод.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Foreigner »

Metallor, Как должен выглядеть список? Как называются файлы?
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Foreigner »

Foreigner, Названия файлов соответствуют словам, т.е.:

abandoned_en.mp3

abandoned_ru.mp3

abandon_en.mp3

abandon_ru.mp3

ability_en.mp3

ability_ru.mp3 и т.д.



Полный список в txt -
https://cloud.mail.ru/public/CRz7/jwHTsCWLb




Желательно, чтобы полный список выглядел:

abandoned

abandon

ability и т.д. (без суффиксов _en и _ru)
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Foreigner »

Metallor, Т.е. вы хотите "склеить" файлы попарно? Не знаю будут ли они работоспособны после этого. Попробуйте в качестве эксперимента одну пару:



Код:

Код: Выделить всё

copy /b ability_en.mp3+ability_ru.mp3 ability.mp3
Аватара пользователя
Metallor

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Metallor »

Да, попарно. Пару "склеило" нормально, выходной файл работоспособен.
Аватара пользователя
Metallor

Re: CMD/BAT - [решено] Объединить пакетно каждые 2 файла mp3 общего списка файлов

Сообщение Metallor »

Metallor, Тогда так, можете запускать и идти пить чай, займет таки время:



Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=1,2 delims=:" %%i in ('" dir /b *.mp3 | findstr /n "." "') do call:set %%i %%j
for /l %%i in (10001,2,%num%) do call:copy %%i
goto:eof
:set
set /a num=10000+%1
set "file_%num%=%2"
goto:eof
:copy
for /f "tokens=2 delims==" %%i in ('set file_%1') do set "en=%%i"
set /a n=%1+1
for /f "tokens=2 delims==" %%i in ('set file_%n%') do set "ru=%%i"
for /f "tokens=1 delims=_" %%i in ("%en%") do set "name=%%i.mp3"
echo copy /b %en%+%ru% %name%

Сначала попробуйте в холостую, а потом, если нормально, уберете красное echo
Ответить

Вернуться в «Скриптовые языки администрирования Windows»