Показать полную графическую версию : Операция с именами файлов
Приветствие. Есть небольшой bat'ник с инструкциями, работающими с именами файлов стандарта 11, 12, 13, 14, .... Делалось это для унификации обработки файлов последовательно двумя программа:
@echp off
for /L %%a in (11,1,99) do (
[операция первой программы]
[операция второй программы]
)
Но если честно уже поднадоело в начале копировать список имён исходных файлов, переименовывать файлы в указанный выше порядок чисел (11, 12, 13, ...) и после обработки файлов переименовывать итоговый результат в их первоначальные имена.
Можно ли как-нибудь в bat'ник это прописать для автоматизации?
Заранее спасибо.
rider42, можно. Если опишете — по какому принципу Вы определяете соответствие между неким списком исходных имён файлов и списком конечных имён.
rider42, можно. Если опишете — по какому принципу Вы определяете соответствие между неким списком исходных имён файлов и списком конечных имён. »
Соответствие прямое. То есть допустим в исходной папке такой список файлов:
Adam.Ruins.Everything.S02E23.720p.TRU.WEBRip.AAC2.0.x264-BTN.mp4
Adam.Ruins.Everything.S04E01.720p.ColdFilm.mkv.mp4
Arrow.S07E07.1080p.rus.LostFilm.TV.mkv.mp4
Arrow.S07E07.The.Slabside.Redemption.1080p.AMZN.WEBRip.DDP5.1.x264-CasStudio.mp4
DCs.Legends.of.Tomorrow.S04E06.1080p.rus.LostFilm.TV.mkv.mp4
DCs.Legends.of.Tomorrow.S04E06.Tender.is.the.Nate.1080p.AMZN.WEBRip.DDP5.1.x264-QOQ.mp4
Supergirl.S04E07.1080p.rus.LostFilm.TV.mkv.mp4
Supergirl.S04E07.Rather.the.Fallen.Angel.1080p.AMZN.WEBRip.DDP5.1.x264-QOQ.mp4
The.Flash.2014.S05E07.O.Come.All.Ye.Thankful.1080p.AMZN.WEBRip.DDP5.1.x264-NTb.mp4
После переименования получаем последовательный набор файлов:
11.mp4
12.mp4
13.mp4
14.mp4
15.mp4
16.mp4
17.mp4
18.mp4
19.mp4
После того как отработал мой bat'ник в другой папке создаётся такой набор файлов:
11.mkv
12.mkv
13.mkv
14.mkv
15.mkv
16.mkv
17.mkv
18.mkv
19.mkv
Ну и под конец надо переименовать этот список файлов в исходные имена с поправкой на новое расширение:
Adam.Ruins.Everything.S02E23.720p.TRU.WEBRip.AAC2.0.x264-BTN.mkv
Adam.Ruins.Everything.S04E01.720p.ColdFilm.mkv.mkv
Arrow.S07E07.1080p.rus.LostFilm.TV.mkv.mkv
Arrow.S07E07.The.Slabside.Redemption.1080p.AMZN.WEBRip.DDP5.1.x264-CasStudio.mkv
DCs.Legends.of.Tomorrow.S04E06.1080p.rus.LostFilm.TV.mkv.mkv
DCs.Legends.of.Tomorrow.S04E06.Tender.is.the.Nate.1080p.AMZN.WEBRip.DDP5.1.x264-QOQ.mkv
Supergirl.S04E07.1080p.rus.LostFilm.TV.mkv.mkv
Supergirl.S04E07.Rather.the.Fallen.Angel.1080p.AMZN.WEBRip.DDP5.1.x264-QOQ.mkv
The.Flash.2014.S05E07.O.Come.All.Ye.Thankful.1080p.AMZN.WEBRip.DDP5.1.x264-NTb.mkv
Ну и если я описал всё сумбурно поясню - исходные имена могут быть какими угодно. В том числе и содержать кириллицу.
rider42, вполне возможно, что первая и/или вторая программы не очень дружат с произвольными именами файлов
либо синтаксис масок нетривиальный, и проще переименовать файл, чем экранировать возможные коллизии
rider42, вполне возможно, что первая и/или вторая программы не очень дружат с произвольными именами файлов
либо синтаксис масок нетривиальный, и проще переименовать файл, чем экранировать возможные коллизии »
Так я из-за этого и переименовываю исходные файлы в цифровые имена, чтобы программы нормально обрабатывали такие файлы. Проблема как раз и состоит в том, чтобы после того как две программы отработали файлы с цифровыми именами вернуть им их изначальные имена. Ещё раз поясню - программы обрабатывают файлы с именами 11, 12, 13, 14, ...
То есть допустим в исходной папке такой список файлов: »
Будем считать, что это означает «имена файлов, упорядоченные по имени в лексикографическом порядке».
Проблема как раз и состоит в том, чтобы после того как две программы отработали файлы с цифровыми именами вернуть им их изначальные имена. »
Вообще-то никакой проблемы нет. Просто создаёте по одной жёсткой ссылке на файл (для простоты — в отдельном каталоге того же раздела), пользуете для обработки, затем удаляете. Например:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFolder=C:\Мои проекты\0222\Source
set sDestFolder=C:\Мои проекты\0222\Destination
set /a iCount = 10
2>nul pushd "%sSourceFolder%" && (
for /f "usebackq delims=" %%i in (
`2^>nul dir /b /a:-d /o:n "*.*"`
) do (
set /a iCount += 1
mklink /h "%sDestFolder%\!iCount!%%~xi" "%%~fi"
)
popd
rem MyProgramm1.exe params ...
pause
rem MyProgramm2.exe params ...
pause
del /f /q "%sDestFolder%\*.*"
) || (
echo Can't find source folder [%sSourceFolder%].
exit /b 1
)
endlocal
exit /b 0
Всё в одном флаконе.
rider42, а что за программы?
megaloman
30-11-2018, 00:18
rider42, @Echo Off
cls
Set "BoxIn=Z:\Soft_In"
Set "BoxArc=Z:\Soft_Arc"
Set "ExtIn=mp4"
Set "BoxOut=Z:\Soft_Out"
Set "ExtOut=mkv"
Set /A Nmax=99
If Not Exist "%BoxOut%" Md "%BoxOut%"
If Not Exist "%BoxArc%" Md "%BoxArc%"
Set /A NNN=10
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO Call :MassIn "%%~nf"
FOR /L %%i IN (11,1,%NNN%) DO (
Call Ren "%%BoxIn%%\%%@@1_%%i%%.%%ExtIn%%" "%%@@2_%%i%%.%%ExtIn%%"
rem Обработка программами
Call Copy "%%BoxIn%%\%%@@2_%%i%%.%%ExtIn%%" "%%BoxOut%%\%%@@2_%%i%%.%%ExtOut%%" >nul
Call Echo "%%BoxIn%%\%%@@1_%%i%%.%%ExtIn%%"
Call Echo "%%BoxIn%%\%%@@2_%%i%%.%%ExtIn%%"
Echo:
rem ---------------------
rem Call Ren "%%BoxIn%%\%%@@2_%%i%%.%%ExtIn%%" "%%@@1_%%i%%.%%ExtIn%%"
Call Move /Y "%%BoxIn%%\%%@@2_%%i%%.%%ExtIn%%" "%%BoxArc%%\%%@@1_%%i%%.%%ExtIn%%" >nul
Call Ren "%%BoxOut%%\%%@@2_%%i%%.%%ExtOut%%" "%%@@1_%%i%%.%%ExtOut%%"
)
pause
GoTo :Eof
:MassIn
If %NNN% EQU %Nmax% Exit /B 1
Set /A NNN+=1
Set "@@1_%NNN%=%~1"
Set "@@2_%NNN%=%NNN%"
GoTo :Eof
То, что отмечено красным - имитация Вашей обработки - в другой папке создаётся такой набор файлов: ... под конец надо переименовать этот список файлов в исходные имена с поправкой на новое расширение » В архив перемещаем исходные файлы с исходными именами
@Echo Off
cls
Set "BoxIn=Z:\Soft_In"
Set "ExtIn=mp4"
Set "BoxOut=Z:\Soft_Out"
Set "ExtOut=mkv"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Set /A NNN=11
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (
Ren "%BoxIn%\%%f" "%NNN%.%ExtIn%"
rem Обработка программами
Echo "%BoxIn%\%%f"
Echo "%BoxIn%\%NNN%.%ExtIn%"
Echo:
Copy "%BoxIn%\%NNN%.%ExtIn%" "%BoxOut%\%NNN%.%ExtOut%" >nul
rem ---------------------
Ren "%BoxIn%\%NNN%.%ExtIn%" "%%f"
Ren "%BoxOut%\%NNN%.%ExtOut%" "%%~nf.%ExtOut%"
)
pause
GoTo :Eof
Спасибо всем откликнувшимся.
Вообще-то сначала переименовывать все файлы, а потом их обрабатывать - плохая идея. Всё равно Вы обрабатываете файлы по одному. Можно переименовывать последовательно каждый файл в одно и то же имя (например, 11), а затем после обработки восстанавливать старое имя со старым (в исходной) и новым расширениями (в выходной) папках »
Меня этот способ больше устраивает. Вот только складывается такое ощущение, что в итоге в итоговой папке оказывается всё тот же исходный mp4 с просто переименованным расширением в mkv. По-крайней мере размер совпадает до байта. И кажется происходит это уже после обработки файла программами. Такое ощущение, что исходный файл с измененным расширением заменяет собой обработанный файл.
Сам код вышел такой:
@Echo Off
cls
Set "BoxIn=d:\Download\Video\"
Set "ExtIn=mp4"
Set "BoxOut=d:\Download\!Vid2CHG\"
Set "ExtOut=mkv"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Set /A NNN=11
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (
Ren "%BoxIn%\%%f" "%NNN%.%ExtIn%"
rem
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 >> "D:\Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS, ar=As source, track=1, lang=und >> "D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng >> "D:\Convert\YT_ch_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output ^"D:\Download\!Vid2CHG\11.mkv^" --language 0:rus ^"^(^" ^"D:\Convert\YT_ch_LVL\11.ts^" ^"^)^" --no-video --language 1:rus --default-track 1:yes --forced-track 1:yes ^"^(^" ^"D:\Download\Video\11.mp4^" ^"^)^" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Echo "%BoxIn%\%%f"
Echo "%BoxIn%\%NNN%.%ExtIn%"
Echo:
Copy "%BoxIn%\%NNN%.%ExtIn%" "%BoxOut%\%NNN%.%ExtOut%" >nul
rem ---------------------
Ren "%BoxIn%\%NNN%.%ExtIn%" "%%f"
Ren "%BoxOut%\%NNN%.%ExtOut%" "%%~nf.%ExtOut%"
)
pause
GoTo :Eof
megaloman
30-11-2018, 21:17
rider42, То, что отмечено красным - имитация Вашей обработки -убейте строки, отмеченные красным цветом, они имитация ваших программ, они тупо копируют Ваши файлы с другим расширением. Как иначе я мог тестировать скрипт? Поставьте Ваши программы обработки вместо красных строк.
убейте строки, отмеченные красным цветом, они имитация ваших программ, они тупо копируют Ваши файлы с другим расширением. Как иначе я мог тестировать скримт? Поставьте Ваши программы обработки вместо красных строк. »
Понял. Спасибо. Теперь работает, только если я правильно понял есть проблема с маленькими файлами. Скрипт не успевает их обработать. Из 14 обработаны только 7.
Вот мой код
@Echo Off
cls
Set "BoxIn=D:\Download\Video\"
Set "ExtIn=mp4"
Set "BoxOut=D:\Download\!Vid2CHG\"
Set "ExtOut=mkv"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Set /A NNN=11
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (
Ren "%BoxIn%\%%f" "%NNN%.%ExtIn%"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 >> "D:\Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS, ar=As source, track=1, lang=und >> "D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng >> "D:\Convert\YT_ch_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output ^"D:\Download\!Vid2CHG\11.mkv^" --language 0:rus ^"^(^" ^"D:\Convert\YT_ch_LVL\11.ts^" ^"^)^" --no-video --language 1:rus --default-track 1:yes --forced-track 1:yes ^"^(^" ^"D:\Download\Video\11.mp4^" ^"^)^" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "%BoxIn%\%NNN%.%ExtIn%" "%%f"
Ren "%BoxOut%\%NNN%.%ExtOut%" "%%~nf.%ExtOut%"
)
pause
GoTo :Eof
А вот лог с ошибками:
mkvmerge v28.2.0 ('The Awakening') 64-bit
'D:\Convert\YT_ch_LVL\11.ts': Применяется разделение для формата 'Транспортный п
оток MPEG'.
'D:\Download\Video\11.mp4': Применяется разделение для формата 'QuickTime/MP4'.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Применяется модуль вывода для формата 'A
VC/h.264 (неструктурированный)'.
'D:\Download\Video\11.mp4' дорожка 1: Применяется модуль вывода для формата 'AAC
'.
Файл 'D:\Download\!Vid2CHG\11.mkv' открыт для записи.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Данные о соотношении сторон изображения
извлечены из видеоданных MPEG-4 layer 10 (AVC), установлены размеры изображения
1920/1080.
Обработано: 100%
Пишутся записи cue (индекс)...
Слияние 0 секунд.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\Концепт арты Войны бесконечности, которые не попали в фи
льм.mp4" "11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "Концепт арты Войны бесконечности, которые не п
опали в фильм.mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "Концепт арты Войны бесконечности, которые н
е попали в фильм.mkv"
)
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Decoding H264 stream (track 1): Profile: High@4.0 Resolution: 1920:1080p Frame
rate: 29.97
Change H264 level from 4 to 4.1
H.264 muxing fps is not set. Get fps from stream. Value: 29.97
0.1% complete
H264 bitstream changed: insert nal unit delimiters
H264 bitstream changed: insert pict timing and buffering period SEI units
H264 bitstream changed: insert SPS/PPS units
Processed 9608 video frames
99.7% complete
Flushing write buffer
Mux successful complete
Muxing time: 1 sec
mkvmerge v28.2.0 ('The Awakening') 64-bit
'D:\Convert\YT_ch_LVL\11.ts': Применяется разделение для формата 'Транспортный п
оток MPEG'.
'D:\Download\Video\11.mp4': Применяется разделение для формата 'QuickTime/MP4'.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Применяется модуль вывода для формата 'A
VC/h.264 (неструктурированный)'.
'D:\Download\Video\11.mp4' дорожка 1: Применяется модуль вывода для формата 'AAC
'.
Файл 'D:\Download\!Vid2CHG\11.mkv' открыт для записи.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Данные о соотношении сторон изображения
извлечены из видеоданных MPEG-4 layer 10 (AVC), установлены размеры изображения
1920/1080.
Обработано: 100%
Пишутся записи cue (индекс)...
Слияние 1 секунда.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\Ковёр-самолёт - Русский трейлер (2019).mp4" "11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "Ковёр-самолёт - Русский трейлер (2019).mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "Ковёр-самолёт - Русский трейлер (2019).mkv"
)
Не удается найти указанный файл.
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Can't open file: D:\Download\Video\11.mp4
mkvmerge v28.2.0 ('The Awakening') 64-bit
Ошибка: Файл 'D:\Convert\YT_ch_LVL\11.ts' не может быть открыт для чтения: open
file error.
Не удается найти D:\Convert\YT_ch_LVL\11.ts
Не удается найти указанный файл.
Не удается найти указанный файл.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\Время возмездия - Русский трейлер (2019).mp4" "11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "Время возмездия - Русский трейлер (2019).mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "Время возмездия - Русский трейлер (2019).mk
v"
)
Не удается найти указанный файл.
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Can't open file: D:\Download\Video\11.mp4
mkvmerge v28.2.0 ('The Awakening') 64-bit
Ошибка: Файл 'D:\Convert\YT_ch_LVL\11.ts' не может быть открыт для чтения: open
file error.
Не удается найти D:\Convert\YT_ch_LVL\11.ts
Не удается найти указанный файл.
Не удается найти указанный файл.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\Nailed It! Holiday! Official Trailer [HD] Netflix.mp4"
"11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "Nailed It! Holiday! Official Trailer [HD] Ne
tflix.mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "Nailed It! Holiday! Official Trailer [HD]
Netflix.mkv"
)
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Decoding H264 stream (track 1): Profile: High@4.0 Resolution: 1920:1080p Frame
rate: 23.976
Change H264 level from 4 to 4.1
H.264 muxing fps is not set. Get fps from stream. Value: 23.976
0.5% complete
H264 bitstream changed: insert nal unit delimiters
H264 bitstream changed: insert pict timing and buffering period SEI units
H264 bitstream changed: insert SPS/PPS units
Processed 2353 video frames
99.7% complete
Flushing write buffer
Mux successful complete
Muxing time: 0 sec
mkvmerge v28.2.0 ('The Awakening') 64-bit
'D:\Convert\YT_ch_LVL\11.ts': Применяется разделение для формата 'Транспортный п
оток MPEG'.
'D:\Download\Video\11.mp4': Применяется разделение для формата 'QuickTime/MP4'.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Применяется модуль вывода для формата 'A
VC/h.264 (неструктурированный)'.
'D:\Download\Video\11.mp4' дорожка 1: Применяется модуль вывода для формата 'AAC
'.
Файл 'D:\Download\!Vid2CHG\11.mkv' открыт для записи.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Данные о соотношении сторон изображения
извлечены из видеоданных MPEG-4 layer 10 (AVC), установлены размеры изображения
1920/1080.
Обработано: 100%
Пишутся записи cue (индекс)...
Слияние 0 секунд.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\Волки и Овцы Ход свиньёй - Трейлер (2019).mp4" "11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "Волки и Овцы Ход свиньёй - Трейлер (2019).mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "Волки и Овцы Ход свиньёй - Трейлер (2019).m
kv"
)
Не удается найти указанный файл.
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Can't open file: D:\Download\Video\11.mp4
mkvmerge v28.2.0 ('The Awakening') 64-bit
Ошибка: Файл 'D:\Convert\YT_ch_LVL\11.ts' не может быть открыт для чтения: open
file error.
Не удается найти D:\Convert\YT_ch_LVL\11.ts
Не удается найти указанный файл.
Не удается найти указанный файл.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\A Christmas Prince Rose McIver Wrapped Up with Netflix
Netflix.mp4" "11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "A Christmas Prince Rose McIver Wrapped Up wit
h Netflix Netflix.mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "A Christmas Prince Rose McIver Wrapped Up
with Netflix Netflix.mkv"
)
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Decoding H264 stream (track 1): Profile: High@4.0 Resolution: 1920:1080p Frame
rate: 23.976
Change H264 level from 4 to 4.1
H.264 muxing fps is not set. Get fps from stream. Value: 23.976
0.4% complete
H264 bitstream changed: insert nal unit delimiters
H264 bitstream changed: insert pict timing and buffering period SEI units
H264 bitstream changed: insert SPS/PPS units
Processed 5605 video frames
99.7% complete
Flushing write buffer
Mux successful complete
Muxing time: 0 sec
mkvmerge v28.2.0 ('The Awakening') 64-bit
'D:\Convert\YT_ch_LVL\11.ts': Применяется разделение для формата 'Транспортный п
оток MPEG'.
'D:\Download\Video\11.mp4': Применяется разделение для формата 'QuickTime/MP4'.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Применяется модуль вывода для формата 'A
VC/h.264 (неструктурированный)'.
'D:\Download\Video\11.mp4' дорожка 1: Применяется модуль вывода для формата 'AAC
'.
Файл 'D:\Download\!Vid2CHG\11.mkv' открыт для записи.
'D:\Convert\YT_ch_LVL\11.ts' дорожка 0: Данные о соотношении сторон изображения
извлечены из видеоданных MPEG-4 layer 10 (AVC), установлены размеры изображения
1920/1080.
Обработано: 100%
Пишутся записи cue (индекс)...
Слияние 1 секунда.
d:\Convert\YT_ch_LVL>(
Ren "D:\Download\Video\\История игрушек 4 - Русский тизер-трейлер #1 (2019).mp4"
"11.mp4"
echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 1>>"D:\
Convert\YT_ch_LVL\11.meta"
echo V_MPEG4/ISO/AVC, "D:\Download\Video\11.mp4", level=4.1, insertSEI, contSPS
, ar=As source, track=1, lang=und 1>>"D:\Convert\YT_ch_LVL\11.meta"
echo #A_AAC, "D:\Download\Video\11.mp4", track=2, lang=eng 1>>"D:\Convert\YT_c
h_LVL\11.meta"
"c:\Soft\!Video\tsMuxeR_2.6.12\tsMuxeR.exe" "D:\Convert\YT_ch_LVL\11.meta" "D:\
Convert\YT_ch_LVL\11.ts"
"C:/Soft/!Video/MKVtoolnix-28.2.0\mkvmerge.exe" --ui-language ru --output "D:\D
ownload\!Vid2CHG\11.mkv" --language 0:rus "(" "D:\Convert\YT_ch_LVL\11.ts" ")" -
-no-video --language 1:rus --default-track 1:yes --forced-track 1:yes "(" "D:\Do
wnload\Video\11.mp4" ")" --track-order 0:0,1:1
del /Q "D:\Convert\YT_ch_LVL\11.meta"
del /Q "D:\Convert\YT_ch_LVL\11.ts"
Ren "D:\Download\Video\\11.mp4" "История игрушек 4 - Русский тизер-трейлер #1 (
2019).mp4"
Ren "D:\Download\!Vid2CHG\\11.mkv" "История игрушек 4 - Русский тизер-трейлер #
1 (2019).mkv"
)
Не удается найти указанный файл.
Network Optix tsMuxeR. Version 2.6.12. www.networkoptix.com
Can't open file: D:\Download\Video\11.mp4
mkvmerge v28.2.0 ('The Awakening') 64-bit
Ошибка: Файл 'D:\Convert\YT_ch_LVL\11.ts' не может быть открыт для чтения: open
file error.
Не удается найти D:\Convert\YT_ch_LVL\11.ts
Не удается найти указанный файл.
Не удается найти указанный файл.
d:\Convert\YT_ch_LVL>pause
Для продолжения нажмите любую клавишу . . .
megaloman
30-11-2018, 22:01
rider42, не надо в путях указывать последний слэжSet "BoxIn=D:\Download\Video"
Set "BoxOut=D:\Download\!Vid2CHG" А во время скрипта какие-либо ошибки выскакивают?
megaloman,
Ещё раз спасибо. Убрал.
Как я выяснил ошибка с теми файлами, в названии которых есть символ
—
Такие файлы просто не обрабатываются.
Скопировать из командной строки почему-то не выходит, так что извиняюсь за сриншот
https://lh3.googleusercontent.com/-c9G0QvP5QVk/XAGTNrHqk_I/AAAAAAAABkY/W7e1SZ9nhrEAcPlepQbxx6vhBzH6ABBVwCHMYCw/s0/2018-11-30_23-43-43.png
megaloman
01-12-2018, 12:09
Как я выяснил ошибка с теми файлами, в названии которых есть символ »Символ как символ, если Вы, конечно, меня не обманываете. Дайте поиграться с именами Ваших файлов. Проделайте в командной строке команду dir "D:\Download\Video\*.mp4" /B /A:-D >D:\яяяяяяяяяяя.txtПолучившийся файл прикрепите к сообщению.
У меня создалось впечатление, что Вы излагаете неверную версию. Моё предположение:
Файл "Ковёр.mp4" благополучно переименовался в 11.mp4
После обработки файл 11.mkv не создался
Файл 11.mp4 благополучно переименовался в "Ковёр.mp4"
Файл 11.mkv не переименовался в "Ковёр.mkv", так как не найден@Echo Off
cls
Set "BoxIn=D:\Download\Video"
Set "BoxOut=D:\Download\!Vid2CHG"
Set "ExtIn=mp4"
Set "ExtOut=mkv"
Set "LogBat=%~dpnx0.log"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Set /A NNN=11
>"%LogBat%" Echo %Date% %Time%
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (
>>"%LogBat%" (Echo: &Echo === begin "%BoxIn%\%%f")
Del "%BoxOut%\%NNN%.%ExtOut%" >nul 2>&1
Call :MyMove "%BoxIn%\%%f" "%BoxIn%\%NNN%.%ExtIn%"
rem Обработка программами
Echo "%BoxIn%\%%f"
Echo "%BoxIn%\%NNN%.%ExtIn%"
Echo:
Copy "%BoxIn%\%NNN%.%ExtIn%" "%BoxOut%\%NNN%.%ExtOut%" >nul
rem ---------------------
Call :MyMove "%BoxIn%\%NNN%.%ExtIn%" "%BoxIn%\%%f"
Call :MyMove "%BoxOut%\%NNN%.%ExtOut%" "%BoxOut%\%%~nf.%ExtOut%"
)
pause
GoTo :Eof
:MyMove
If Not Exist %1 (
>>"%LogBat%" Echo --- not found %1
Exit /B 2
)
>>"%LogBat%" 2>&1 Move /Y %1 %2
If Exist %2 (
>>"%LogBat%" Echo +++ success Move /Y %1 %2
) Else (
>>"%LogBat%" Echo --- failure Move /Y %1 %2
>>"%LogBat%" Echo --- failure Move /Y %1 %2
)
GoTo :Eof
Не забудьте удалить выделенную красным имитацию Вашей обработки и вставить свои программы :)
Лог-файл делается рядом с батником, с именем батника. Вы можете прописать его куда угодно с любым именем
megaloman, спасибо что продолжаете заморачиваться. Приложил к сообщению файлы.
megaloman
01-12-2018, 22:02
rider42, Похоже, в названиях присутствуют символы, не отражающиеся в 866 кодировке. Приложил переименованный vbs-скрипт, выполните его, полученный txt-файл приложите к сообщению.
rider42, Похоже, в названиях присутствуют символы, не отражающиеся в 866 кодировке. Приложил переименованный vbs-скрипт, выполните его, полученный txt-файл приложите к сообщению. »
Готово
megaloman
01-12-2018, 22:46
rider42, @Echo Off
cls
chcp 1251 >nul
Set "BoxIn=D:\Download\Video"
Set "BoxOut=D:\Download\!Vid2CHG"
Set "ExtIn=mp4"
Set "ExtOut=mkv"
Set "LogBat=%~dpnx0.log"
If Not Exist "%BoxOut%" Md "%BoxOut%"
Set /A NNN=11
>"%LogBat%" Echo %Date% %Time%
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (
>>"%LogBat%" (Echo: &Echo === begin "%BoxIn%\%%f")
Call :MyMove "%BoxIn%\%%f" "%BoxIn%\%NNN%.%ExtIn%"
Del "%BoxOut%\%NNN%.%ExtOut%" >nul 2>&1
rem Обработка программами
Echo "%BoxIn%\%%f"
Echo "%BoxIn%\%NNN%.%ExtIn%"
Echo:
Copy "%BoxIn%\%NNN%.%ExtIn%" "%BoxOut%\%NNN%.%ExtOut%" >nul
rem ---------------------
Call :MyMove "%BoxIn%\%NNN%.%ExtIn%" "%BoxIn%\%%f"
Call :MyMove "%BoxOut%\%NNN%.%ExtOut%" "%BoxOut%\%%~nf.%ExtOut%"
)
pause
GoTo :Eof
:MyMove
If Not Exist %1 (
>>"%LogBat%" Echo --- not found %1
Exit /B 2
)
>>"%LogBat%" 2>&1 Move /Y %1 %2
If Exist %2 (
>>"%LogBat%" Echo +++ success Move /Y %1 %2
) Else (
>>"%LogBat%" Echo --- failure Move /Y %1 %2
>>"%LogBat%" Echo --- failure Move /Y %1 %2
)
GoTo :Eof
megaloman, огромное спасибо. Теперь всё работает. Правда в самой командной строке при отработке bat'ника вместо русского крякозябры, но в итоге с конечными файлами всё отлично.
megaloman
01-12-2018, 23:11
rider42, Правда в самой командной строке при отработке bat'ника вместо русского крякозябры » А оно Вам надо? Для этого есть лог-файл.
А оно Вам надо? Для этого есть лог-файл. »
Нее, ни разу. Просто подумал, что это надо озвучить на всякий случай. И ещё раз огромное спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.