Saya mencari beberapa perintah / skrip untuk memindai folder yang ditunjuk, menggabungkan file srt (nama yang sama dengan video) dengan file avi / mp4 / mkv untuk mendapatkan file mkv, dan kemudian menghapus file asli (video DAN subtitle).
Sekarang saya memiliki kode ini (bukan milik saya, dari beberapa penulis yang saya kombinasikan):
@echo off
for /R %%A IN (*.mkv *.avi *.mp4) do (
"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nxA_CZ.mkv" "%%~A" "%%~nA.srt"
if errorlevel 1 (
echo Warnings/errors generated during remuxing, original file not deleted
) else (
del /f "%%A" "%%~nA.srt"
echo Successfully remuxed to "%%~dpna (No Subs)%%~xa", original file deleted
)
echo.
)
)
)
Jenis pekerjaan apa, tapi saya punya beberapa masalah.
The /R
parameter tidak bekerja, tidak tahu mengapa, tapi ketika saya tempatkan dalam folder dengan subfolder hanya memindai file srt di dalamnya dan saya mendapatkan "Tidak bisa membuka" kesalahan. (Kesalahan ini juga muncul untuk file dalam satu folder tetapi pada akhirnya itu melakukan apa yang saya butuhkan.)
Adakah cara untuk memperbaiki masalah saya?
FOR /F "TOKENS=*" %%A IN
lingkaran menggunakan('DIR /A-D /B /S "C:\Root"')
dan kemudian menggunakan output dari itu dengan beberapa logika untuk memilih dari.mp4
,.avi
dan.mkv
file denganDO
perintah. Menggunakan sesuatu sepertiIF [%%~XA]==[.mkv]
, dll. Dan kemudian kirim untuk melakukanmkvmerge.exe
operasi dari sana. Dengan beberapa pengujian Anda dapat menyelesaikan ini jadi mulai bekerja dan ping saya kembali jika Anda ingin jawaban yang menjelaskan tetapi mengambil bacokan itu dengan ide cepat.