簡體   English   中英

Windows批處理以多個變量分隔同一文件夾中的文件

[英]Windows batch to separate files on the same folder in multiple variables

我有一個包含很多4通道dvr錄像的文件夾。

每個文件都有特定的攝像機編號以及記錄的開始和結束幀。

IE:對於2分鍾的錄制,我將這8個文件放在名為“ videos”的文件夾中:

ch1_1-1800.avi
ch2_1-1800.avi
ch3_1-1800.avi
ch4_1-1800.avi
ch1_1801-3600.avi
ch2_1801-3600.avi
ch3_1801-3600.avi
ch4_1801-3600.avi

我可以使用此命令行在單個704x480 .avi文件上手動合並幀間隔的文件

ffmpeg -i ch1_1-1800.avi -i ch1_2-1800.avi.avi -i ch3_1-1800.avi.avi -i ch4_1-1800.avi.avi -filter_complex "nullsrc=size=704x480 [base]; [0:v] setpts=PTS-STARTPTS, scale=352x240 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=352x240 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=352x240 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=352x240 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=352 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=352:y=240" -b:v 2000k ch1234_1-1800.avi

但是我正在尋找一種使用Windows批處理文件自動處理“視頻”文件夾中所有文件的方法。 我使用FOR循環嘗試了一些操作,但是我不知道是否可以在同一循環上設置多個變量。

有任何想法嗎?

提前致謝

將每組文件相關的參數構建到環境變量中。 然后在調用批處理文件時使用這些累積的變量。

    setlocal EnableDelayedExpansion  

    SET I_ARGS=
    SET OTHER_ARGS=

    for /f "tokens=*" %%a in ('dir /b *.avi') do (
        SET I_ARGS=!I_ARGS! -i %%a
        SET OTHER_ARGS=!OTHER_ARGS! blah
    )

    ffmpeg %I_ARGS% %OTHER_ARGS%

這顯示了為'dir / b * .avi'返回的每個文件(%% a)建立環境變量的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM