CMD/BAT - [решено] MKVMerge и мульон файлов: склеить дорожки из разных папок с пробелами

Ответить
Аватара пользователя
R.i.m.s.k.y.

CMD/BAT - [решено] MKVMerge и мульон файлов: склеить дорожки из разных папок с пробелами

Сообщение R.i.m.s.k.y. »

Доброе время суток!



Имеется куча файлов/сериалов и куча дорожек к ним россыпухой

Необходимо приклеить все дороги в один файл.



Вот один из таких сериалов: Том и джерри золотая коллекция

Файлы



Код:

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

d:\Download-New\_Torrent\Done\To и Jer-1080p-1\001. Puss Gets The Boot  За что наказали кота (1940).mkv
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\002. The Midnight Snack  Поздний ужин (1941).mkv
...
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\019. Mouse In Manhattan  Мышонок в Нью-Йорке (1945).mkv
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\020. Tee For Two  Игра в гольф (1945).mkv

Дорожки

Код:

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

d:\Download-New\_Torrent\Done\To и Jer-1080p-1\Оригинальные дорожки(Английский)\001. Puss Gets The Boot  За что наказали кота (1940).ac3
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\Оригинальные дорожки(Английский)\002. The Midnight Snack  Поздний ужин (1941).ac3
...
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\Оригинальные дорожки(Английский)\019. Mouse In Manhattan  Мышонок в Нью-Йорке (1945).ac3
d:\Download-New\_Torrent\Done\To и Jer-1080p-1\Оригинальные дорожки(Английский)\020. Tee For Two  Игра в гольф (1945).ac3

В MKVMerge собираю как мне надо, копирую оттуда комстроку



Код:

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

"C:\Program Files\CodeRim\Megui\tools\mkvmerge\mkvmerge.exe" -o "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\1\\001. Puss Gets The Boot  За что наказали кота (1940).mkv"  "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:1472x1080" "--default-track" "1:yes" "--forced-track" "1:no" "-a" "1" "-d" "0" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\001. Puss Gets The Boot  За что наказали кота (1940).mkv" ")" "--language" "0:eng" "--default-track" "0:no" "--forced-track" "0:no" "-a" "0" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\Оригинальные дорожки(Английский)\\001. Puss Gets The Boot  За что наказали кота (1940).ac3" ")" "--track-order" "0:0,0:1,1:0"

и сохраню ее в файл
www.cmd
, заменив имя файла на %1 для того чтобы имя файла парсить и передавать ему параметром



Код:

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

"C:\Program Files\\Megui\tools\mkvmerge\mkvmerge.exe" -o "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\1\\%1.mkv"  "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:1472x1080" "--default-track" "1:yes" "--forced-track" "1:no" "-a" "1" "-d" "0" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\%1.mkv" ")" "--language" "0:eng" "--default-track" "0:no" "--forced-track" "0:no" "-a" "0" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "D:\\Download-New\\_Torrent\\Done\\To и Jer-1080p-1\\Оригинальные дорожки(Английский)\\%1.ac3" ")" "--track-order" "0:0,0:1,1:0"

Делаю второй батник в котором в цикле перебираю файлы и передаю имена в качестве параметра
www.cmd




Код:

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

cd /D "d:\Download-New\_Torrent\Done\To и Jer-1080p-1\"
For %%I In (*.mkv) Do www.cmd %%~nI

И вот тут затык - имя файла с пробелом не передается

Даже если не в цикле а руками запустить
www.cmd
"001. Puss Gets The Boot За что наказали кота (1940)"

передается имя с кавычками



Код:

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

...Оригинальные дорожки(Английский)\\"001. Puss Gets The Boot  За что наказали кота (1940)".ac3"...

что не соответствует действительности

Системе не удается найти указанный путь.[/i]



Кодировка, конечно же, вечнозеленая CP-866



Подскажите, пожалуйста, где я дураг?
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] MKVMerge и мульон файлов: склеить дорожки из разных папок с пробелами

Сообщение Foreigner »

В кавычки:



Код:

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

For %%I In (*.mkv) Do www.cmd "%%~nI"

А в
www.cmd
вместо %1 %~1



Или без кавычек, а в
www.cmd
вместо %1 %*
Ответить

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