You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMD中循环调用带参数的EXE程序及批量处理车牌图片

在CMD中循环调用带参数的EXE程序(附批量车牌识别处理方案)

Hey 伙计,咱们一步步来解决你的问题——先讲CMD里循环调用带参数EXE的通用方法,再针对你的PlateRecog_saveDigits_Location批量处理车牌图片的需求给出具体实现。

一、CMD中循环调用带参数EXE的通用玩法

CMD里的for命令是处理这类批量任务的核心,下面是几种常用场景:

1. 遍历当前目录下指定格式的文件

比如要处理所有.jpg图片,直接用这个命令(CMD窗口直接执行时用单百分号%):

for %f in (*.jpg) do "C:\你的程序路径\your.exe" "%f"

要是把命令写到批处理文件(.bat/.cmd)里,变量要改成双百分号%%,不然会报错哦。

2. 处理特定列表的文件

如果不是所有文件,而是指定的几个,直接把文件名列出来就行:

for %f in (car1.jpg car2.jpg car3.jpg) do "C:\你的程序路径\your.exe" "%f"

3. 递归处理子文件夹里的文件

要是图片分散在子目录里,加上/r参数就能递归遍历:

for /r %f in (*.jpg) do "C:\你的程序路径\your.exe" "%f"

二、针对你的车牌识别程序的批量方案

根据你描述的PlateRecog_saveDigits_Location使用方式,我给你准备了两种实用方案:

方案1:临时快速处理(直接在CMD窗口执行)

  1. 先打开CMD,切换到程序所在的目录:
cd C:\Users\gksql\Desktop\PlateRec
  1. 执行循环命令,处理当前目录下所有.jpg图片:
for %f in (*.jpg) do PlateRecog_saveDigits_Location "%f"

划重点:如果你的图片文件名带空格,一定要用双引号把%f括起来!不然程序会把空格当成参数分隔符,识别出错。

方案2:写个批处理文件(可重复使用)

如果以后还要批量处理,写个批处理文件更方便。创建一个文本文件,命名为Batch_PlateRecog.bat,把下面的内容粘贴进去:

@echo off
:: 配置程序路径和图片目录
set "PROG_FILE=C:\Users\gksql\Desktop\PlateRec\PlateRecog_saveDigits_Location"
set "IMAGE_FOLDER=C:\Users\gksql\Desktop\PlateRec"  :: 这里可以改成你的图片存放目录,不用和程序同目录

:: 切换到图片目录
cd /d "%IMAGE_FOLDER%"

:: 循环处理所有jpg图片
for %%f in (*.jpg) do (
    echo 正在处理:%%f
    "%PROG_FILE%" "%%f"
    :: 可选:把生成的结果移到output文件夹,避免文件覆盖
    mkdir output 2>nul
    move image_Plate.jpg output\%%~nf_Plate.jpg 2>nul
    move image_Digits_*.jpg output\%%~nf_Digits_*.jpg 2>nul
)

echo 所有图片处理完成!
pause

上面的可选部分加了重命名逻辑——%%~nf会提取不带扩展名的原文件名,这样每个图片的结果都会带上原文件名前缀,不会出现不同图片生成的文件互相覆盖的问题。

额外小技巧

  • 要处理.png格式的话,把*.jpg改成*.jpg *.png就行,同时匹配多种图片格式。
  • 如果程序支持其他参数,直接加在"%PROG_FILE%" "%%f"后面即可,比如"%PROG_FILE%" "%%f" --confidence 0.9(假设程序支持置信度参数)。

内容的提问来源于stack exchange,提问作者이한빈

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:28:37