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

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

Ответить
Настройки темы
CMD/BAT - [решено] 2 переменных для MP3SPLT

Аватара для Sisin

Старожил


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

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


mp3splt -c "File.cue" "Folder\File.mp3" - делит файл File.mp3 из папки Folder по File.cue из корневой папки.

Подскажите, пожалуйста, как сделать батник так, чтобы после обработки разделенные файлы сохранялись в папке Folder2??

PS: Нужен батник вида: for %%a in (Folder\*.mp3) do (

Отправлено: 11:32, 25-09-2018

 

Аватара для Elven

Ветеран


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

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


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

Отправлено: 17:20, 25-09-2018 | #11



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

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


Ветеран


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

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


Elven, а где там кодировка-то может влиять? В Вашем коде я таких мест не вижу, везде гольный ASCII. Кавычки в нужных местах также наличествуют. Так что, скорее, именно это:
Цитата Elven:
еще есть вариант что сама тулза не умеет работать с кириллицей »
(есть такая частая проблема с импортными, портированными из мира Unix, утилитами) хотя в данном случае я и не проверял (поскольку коллега Sisin не выложил образцов для тестирования).
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:28, 25-09-2018 | #12


Аватара для Elven

Ветеран


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

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


Цитата Iska:
образцов для тестирования »
А я не сомневался что где-то это всплывет.
Цитата Iska:
где там кодировка-то может влиять? »
например при указании пути в теле батника, я, конечно, обошелся без кириллицы, но гарантировать что Sisin сделал так же не могу.

Отправлено: 17:39, 25-09-2018 | #13


Ветеран


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

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


Цитата Elven:
например при указании пути в теле батника, я, конечно, обошелся без кириллицы, но гарантировать что Sisin сделал так же не могу. »
Это да. Я потому и спрашиваю у него — «какой именно «батник»?».

Отправлено: 17:53, 25-09-2018 | #14


Аватара для Sisin

Старожил


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

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


Цитата Iska:
Это да. Я потому и спрашиваю у него — «какой именно «батник»?». »
Вот такой:
Код: Выделить весь код
@echo ON
md fix
for %%a in (*.flac) do (
ffmpeg -i "%%~a" ^
-ab 320k ^
-map_metadata 0 ^
-id3v2_version 3 ^
"fix\%%~na.mp3"
)
for /f %%i in ('dir /b /a:-d "fix\*.mp3"') do (
MP3SPLT\mp3splt -c "%%~ni.cue" "fix\%%~ni.mp3" -d "fixed\%%~ni"
)
del /q fix
rd /q fix
pause
Цитата Iska:
Если «ручками» набрать команду mp3splt в консоли с этими именами (разумеется, обрамлёнными кавычками) — команда отработает? »
Работает. Проверил. (http://prdownloads.sourceforge.net/m...2.6.2_i386.zip)

А при запуске "батника" в конце видим:



При условии названий:
Имя Артиста - 77 - Юбилейный альбом CD1.cue
Имя Артиста - 77 - Юбилейный альбом CD1.flac
Имя Артиста - 77 - Юбилейный альбом CD1.mp3

Последний раз редактировалось Sisin, 26-09-2018 в 11:13.


Отправлено: 10:32, 26-09-2018 | #15


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Sisin:
при запуске "батника" в конце видим: »
1. Сохраните батник в кодировке cp866
2. Вот эту часть:
Код: Выделить весь код
for /f %%i ...
надо заменить на такую:
Код: Выделить весь код
for /f "delims=" %%i ...

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

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

Отправлено: 11:37, 26-09-2018 | #16


Аватара для Sisin

Старожил


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

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


Код: Выделить весь код
@echo ON
md fix
for %%a in (*.flac) do (
ffmpeg -i "%%~a" ^
-ab 320k ^
-map_metadata 0 ^
-id3v2_version 3 ^
"fix\%%~na.mp3"
)
for %%i in ("fix\*.mp3") do (
MP3SPLT\mp3splt -c "%%~ni.cue" "fix\%%~ni.mp3" -d "fixed"
)
del /q fix
rd /q fix
pause
Так все работает как надо.
Всем спасибо)

PS: Проблема была в fixed\%%~ni. Программа создает имя и путь в другой кодировке или что-то вроде того.
Лучше выбрать путь меньшего сопротивления)))

Последний раз редактировалось Sisin, 26-09-2018 в 14:01.


Отправлено: 13:51, 26-09-2018 | #17


Ветеран


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

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


Sisin, проблема была в пробелах в пути/имени файла, а не в кодировке.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:37, 26-09-2018 | #18


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Sisin:
Так все работает как надо.
Всем спасибо)
PS: Проблема была в fixed\%%~ni. Программа создает имя и путь в другой кодировке или что-то вроде того. »
Вы спрашивали советы для того, чтобы в итоге не прислушиваться к ним и выдать свою, причем неправильную версию? Отличный подход!
На досуге поэкспериментируйте:
В каталоге, где расположено это "безобразие":
Цитата Sisin:
При условии названий:
Имя Артиста - 77 - Юбилейный альбом CD1.cue
Имя Артиста - 77 - Юбилейный альбом CD1.flac
Имя Артиста - 77 - Юбилейный альбом CD1.mp3 »
откройте консоль cmd и запустите сначала это:
Код: Выделить весь код
for /f %i in ('dir /b/a-d') do @echo.%i
затем вот это:
Код: Выделить весь код
for /f "delims=" %i in ('dir /b/a-d') do @echo.%i
PS Проанализируйте оба результата...

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

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

Отправлено: 19:56, 26-09-2018 | #19


Аватара для Sisin

Старожил


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

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


Цитата YuS_2:
PS Проанализируйте оба результата... »
Согласен, Ваш вариант правильный.

Отправлено: 10:32, 27-09-2018 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Непонятное поведение переменных внутри FOR dasgespenst Скриптовые языки администрирования Windows 8 28-06-2015 19:33
CMD/BAT - [решено] Поиск файла, значения в файле и создания для них переменных popoves Скриптовые языки администрирования Windows 4 29-02-2012 20:59
Разное - [решено] Установка переменных окружения для простого пользователя ru-vadik Microsoft Windows 7 12 26-09-2010 13:00
настройка системных переменных dromaxim Microsoft Windows NT/2000/2003 9 28-12-2005 17:51
JavaScript: Передача переменных Crowner Вебмастеру 10 03-08-2005 09:52




 
Переход