如何用windows命令行对某一文件夹下图片批量命名

笔者之前搞svm识别数字,需要读取图片,但是图片有各种不合适的命名(一般应该只有字母、数字、下划线的组合才是正规的),因此需要对图片(或者任意其他文件格式)重新命名。

如何用windows命令行对某一文件夹下图片批量命名

可以用bat命令方便实现。

比如我们想将图片重命名为0001、0002…可以用下面代码

@echo off
setlocal enabledelayedexpansion
set count=10000
for /f "delims=" %%i in ('dir /b *.jpg,*.png,*.bmp,*.jpeg,*.gif') do call:Rename "%%~i"
pause
exit

:Rename
set /a count+=1
if /i "%~1"=="!count:~1!%~x1" goto :eof
if exist "!count:~1!%~x1" goto Rename
echo 改名:%1 !count:~1!
ren "%~1" "!count:~1!%~x1"
goto :eof

在要重命名的图片路径下新建一个txt文档,将上述代码复制,然后保存为bat文件(将.txt后缀改为.bat),双击即可。

如果想要重命名为发票001、发票002.。。。这样,只需要将**所有!count前面(最好用编辑器的查找替换功能)**加上发票两个字,至于数字的位数,由那个10000决定,要得到三位数的就写成1000,五位数的就写成100000,以此类推

上面是从001开始排序,如果我们想要从038开始排序,可以将第三行代码:

set count=10000 

改为

set count=10037


分享到:


相關文章: