Bir Windows Toplu Komut Dosyası kullanarak alt dizinlerden gelen FFMPEG ile video ve sesi çoğaltmak


1

Bir alt dizinde (bir ana dizinde) bulunan bazı .m2v ve .wav dosyalarını çoğaltmama izin verecek bir toplu komut dosyası (windows tabanlı) bulmaya çalışıyorum. Bunların da yeniden şifrelenmeleri ve şifrelenmeleri gerekir, çıktı dosyalarının MXF olması ve başka bir klasöre yazması gerekir. Toplu komut dosyalarında yeniyim, FFMPEG komutlarında yeni değil. Şu ana kadar birden fazla dosyanın kullanılmasına izin veren herhangi bir toplu komut dosyası bulamadım, yalnızca tek bir dosyayı dönüştürmeye çalışanlar.

Çok araştırdıktan sonra gördüğüm en yakın şey bu. İşin garibi, bir keresinde 0KB olsa da.

for %%a in (".m2v") do ffmpeg -i "%%~na.wav" -i "%%~na.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf". 

Sahip olduğum parantezde neyin kastedildiğinden emin değilim (".m2v").

bu neyi temsil ediyor?


Lütfen bunu not al Süper kullanıcı bir komut dosyası yazma hizmeti değil. Bize şu ana kadar ne denediğinizi (kullandığınız herhangi bir komut dosyası dahil) ve nerede kaldığınızı söylerseniz, belirli sorunlarda size yardımcı olabiliriz. Ayrıca okumalısınız Nasıl iyi bir soru sorabilirim? .
DavidPostill

Çok araştırdıktan sonra gördüğüm en yakın şey bu. İşin garibi, bir keresinde 0KB olsa da. %% a için (" .m2v ") ffmpeg -i" %% ~ na.wav "-i" %% ~ na.m2v "-acodec kopyası -vcodec kopyası" newfiles \ %% ~ na.mxf ".Ben emin değilim. sahip olduğum parantez içine girmek istiyordum (" .m2v "). Bu neyi temsil ediyor?
DMtd

Yanıtlar:


1

Bulunduğum parantezde neler yazılmalı bilmiyorum (".m2v").

bu neyi temsil ediyor?

for %%a in (".m2v") do ffmpeg -i "%%~na.wav" -i "%%~na.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf"

Değer (".m2v") işlenecek bir dosya kümesini temsil eder.

Komutunuzda şu tarihten beri işlenecek dosya yok:

  • .m2v sadece bir uzantıdır ve bunun gibi bir şey olması gerektiğini varsayabiliriz filename.m2v
  • Burada gerçekten bir joker karakter ifadesine ihtiyacınız var (bunun nasıl yapılacağı için aşağıya bakın).
  • Dosyalarınız alt dizinlerde.

Aşağıdaki toplu iş dosyasını kullanın (tek ana dizinde):

@echo off
setlocal
for /f "usebackq" %%a in (`dir /b /s *.m2v`) do (
  echo ffmpeg -i "%%~dpna.wav" -i "%%~dpna.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf
  )
endlocal

Notlar:

  • Kaldır echo -den ffmpeg Toplu iş dosyasının ne yapacağından memnun kaldığınızda komut.

  • dir /b /s *.m2v işlenecek dosyaların bir listesini üretmek için kullanılır.

    /b seçenek yalnızca dosya adlarını verir (başlıkları, özeti veya diğer ayrıntıları istemiyoruz)

    /s seçenek sağlar dir alt dizinleri işlemek için.

  • for /f dosyaların listesini işlemek için kullanılır.

  • %%~dpna uzantısı olmadan tam nitelikli dosya adını almak için kullanılır.


Daha fazla okuma

  • Windows CMD komut satırının A-Z Dizini - Windows cmd hattıyla ilgili her şey için mükemmel bir referans.
  • dir - Dosya ve alt klasörlerin bir listesini görüntüleyin.
  • / f için - Başka bir komutun sonuçlarına karşı komutu döngü.
  • parametreler - Bir komut satırı argümanı (veya parametresi), bir toplu iş komut dosyasına geçirilen herhangi bir değerdir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.