Board logo

标题: [文件操作] 批处理怎样把文件名中的版本号自动加一? [打印本页]

作者: leebilly007    时间: 2019-8-9 21:51     标题: 批处理怎样把文件名中的版本号自动加一?

文件名中的版本号自动加一
如下图所示:当前文件夹中有两个bin文件,一个名称为“ABCDEF.bin”,另一个为“UVWXYZ0001.bin”。
现在想在文件夹中加一个bat文件,完成以下功能:bat文件每次运行时,将“ABCDEF.bin”的名称替换为(rename)比“UVWXYZ0001.bin”文件名后四位数字大1的。
即下图的情况下运行bat之后,“UVWXYZ0001.bin”名称不变,“ABCDEF.bin”名称变为“ABC0002.bin”
我想达到的效果:我的另一个程序每次运行时会自动生成一个“ABCDEF.bin”,同时会自动执行此文件夹中的bat文件。
也就是说,最终效果是,我另一个程序,每运行一次,此文件夹中就会多一个bin文件,
且序号是递增的(每次是将“ABCDEF.bin”的名称替换为文件夹中带UVWXYZ开头的文件的后面序号最大的加1)。
谢谢!
作者: zaqmlp    时间: 2019-8-9 22:59

即下图的情况下运行bat之后,“UVWXYZ0001.bin”名称不变,“ABCDEF.bin”名称变为“ABC0002.bin”

图片中没看到“ABC0002.bin”,这是认真的吗
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. set "last=UVWXYZ0000"
  7. for /f "delims=" %%a in ('dir /a-d/b "UVWXYZ????.bin" 2^>nul') do (
  8.     set "last=%%~na"
  9. )
  10. set /a n=1%last:~-4%+1
  11. ren "ABCDEF.bin" "UVWXYZ%n:~-4%.bin"
  12. echo;%info%
  13. pause
复制代码

作者: leebilly007    时间: 2019-8-10 10:23

本帖最后由 leebilly007 于 2019-8-10 10:28 编辑

回复 2# zaqmlp


    抱歉抱歉,笔误笔误,ABC0002应该为UVWXYZ0002




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2