Board logo

标题: [文件操作] BAT批量修改文件名,第二个点后数字加1,怎么做? [打印本页]

作者: ruoru376    时间: 2019-5-28 08:21     标题: BAT批量修改文件名,第二个点后数字加1,怎么做?

第二个点后数字加1,怎么做?谢谢啦
比如:  1.2  1.3   3.8   2.2.1   4.5.1  需要第一个“.”点后面的数字加1,成为新文件名如:1.3    1.4  3.9   2.3.1   4.6.1
作者: zaqmlp    时间: 2019-5-28 09:01

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. for /f "delims=" %%a in ('dir /a-d/b/s^|findstr "\\[^\.\\][^\.\\]*\.[0-9][0-9]*\.[^\\]*$"') do (
  7.     ren "%%a" "#.%%~nxa"
  8. )
  9. for /f "delims=" %%a in ('dir /a-d/b/s^|findstr "\\#\.[^\.\\][^\.\\]*\.[0-9][0-9]*\.[^\\]*$"') do (
  10.     for /f "tokens=1,2,3* delims=." %%b in ("%%~nxa") do (
  11.         set "file=%%a"
  12.         set "a=%%c"
  13.         set /a "b=%%d+1"
  14.         set "c=%%e"
  15.         setlocal enabledelayedexpansion
  16.         ren "!file!" "!a!.!b!.!c!"
  17.         endlocal
  18.     )
  19. )
  20. echo;%info%
  21. pause
复制代码

作者: Batcher    时间: 2019-5-28 14:20

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2* delims=." %%a in ('dir /b /a-d *.*.jpg') do (
  4.     set /a n=%%b+1
  5.     ren "%%a.%%b.%%c" "%%a.!n!.%%c"
  6. )
复制代码

作者: xczxczxcz    时间: 2019-5-28 15:14

如果是 1.9 再加 0.1 怎么办?
作者: xczxczxcz    时间: 2019-5-28 15:15

还是把前面的3位字符 转成泘点数加 0.1好。
作者: 523066680    时间: 2019-5-28 15:53

版本号 0.9+0.1 当然是 0.10 或者 0.a 啦~

1楼的示意图就有 1.16
作者: WHY    时间: 2019-5-28 20:20

  1. PowerShell "dir *.jpg | ?{$_.BaseName -match '^\d+(?:\.\d+)+$'} | sort -Desc {1*($_.BaseName -split '\.')[1]} | ren -NewName{$a=$_.Name -split '\.'; $a[1]=1+$a[1]; $a -join '.'}"
复制代码





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