【问题标题】:Run a command on each file in a directory [closed]对目录中的每个文件运行命令[关闭]
【发布时间】:2012-07-06 15:23:17
【问题描述】:

我需要对目录中的每个文件运行一个命令。由于我要处理数百个视频,我会发现使用批处理脚本会更容易。

命令如下所示:

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= 表示输出文件,最后一个参数表示输入文件。
每个文件的输出文件名必须不同。

【问题讨论】:

    标签: opencv process batch-file blob


    【解决方案1】:

    要遍历某个文件夹中的所有文件,请执行以下操作:

    @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”的文件中并执行它。希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 1970-01-01
      • 2013-10-28
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 2014-05-03
      相关资源
      最近更新 更多