使用 windows cmd 或批处理脚本根据条形码重命名文件

Rename file as per barcode using windows cmd or batch script

我有一些带有条码的扫描图像我找到了 cmd 条码扫描工具

bardecode -f C:\input\file1.png -t code128 >> C:\output\output.txt

这将读取图像文件并将条码编号保存在 output.txt 文件中。

我想对文件夹中的每个文件执行此命令 运行,并使用其条码的前 3 或 4 位数字重命名该文件。

我尝试循环,它 运行 对文件夹中的所有 png 文件执行命令并在文件中打印输出。

for %%i in (C:\input\*.png) do bardecode -f %%i -t code128 >> C:\output\output.txt

但我想使用输出重命名该文件。

所以,如果我理解得很好,没有要测试的布局,我想象一下循环来做这个。

如果可能,请提供barcode.exe输出布局,没有这个,没有太多的参考来进行测试。

请注意,我需要了解 output.txt 的布局以改进我的代码:

@echo off && cd /d "%~dp0" & setlocal enableextensions enabledelayedexpansion

for /f "tokens=* delims= " %%i in ('dir /b /a-d C:\input\*.png') do ( 

     for /f "tokens=*" %%I in ('"bardecode.exe" -f "!_name_!" -t code128') do (

         set _full_name=%%~fi
         set _name_only=%%~ni
         set _bar_code_to_rename=%%I
         set _bar_code_to_rename=!_bar_code_to_rename:~0,4!-!_name_only!
         ren "!_full_name!" "!_bar_code_to_rename!.png"

        )    

    )