2012-07-06 155 views
-2

我需要在目錄中的每個文件上運行命令。由於我想處理數百個視頻,因此使用批處理腳本可以更輕鬆地找到它。在目錄中的每個文件上運行命令

的命令如下:

blobtrack_sample.exe fg=FG_0 bd=BD_CC btgen=RawTracks track=E:\opencv\tracks\video1.txt bta=TrackDist btavi=E:\opencv\btavi\test.avi E:\sample\video1.avi 

btavi=指示輸出文件和最後一個參數表示輸入文件。
每個文件的輸出文件的名稱必須不同。

回答

0

要通過在某個文件夾中的所有文件重複,這樣做:

@echo off 
setlocal enabledelayedexpansion 
set EXE_FILE=E:\opencv\build\bin\Debug\blobtrack_sample.exe 
set INPUT_PATH=E:\sample\ 
set TRACKS_PATH=E:\opencv\tracks\ 
set OUTPUT_PATH=E:\opencv\btavi\ 
set COUNT=0 
pushd %INPUT_PATH% 
for %%f in (*) do if %%f neq %~nx0 (
    set /a COUNT+=1 
    echo Processing %%f, track=%%~nf.txt, btavi=test!COUNT!%%~xf 
    %EXE_FILE% fg=FG_0 bd=BD_CC btgen=RawTracks track=%TRACKS_PATH%\%%~nf.txt bta=TrackDist btavi=%OUTPUT_PATH%\test!COUNT!%%~xf %%f 
) 
popd 

環路採用每個文件,將其放入變量%%f%%f是它的一個參數調用你的blobtrack_sample.exe。此外,可執行文件的名稱在EXE_FILE

要運行此腳本,請將此代碼複製粘貼到具有「.bat」擴展名的文件中並執行它。希望能幫助到你!

相關問題