2012-07-06 65 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”扩展名的文件中并执行它。希望能帮助到你!

相关问题