[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 45# image1001


   要怎么改呢?举个例子吧
bat小白,请多指教!谢谢!

TOP

比如,1-001-aaa.txt,1-002-bbb.txt,1-003-ccc.txt,有N个这样有规律的文件,批量改名为指定的新文件名,新文件名还是按原来的方法整理在BAT结尾处。
比如新文件名为:1-aaa.txt,2-bbb.txt,3-ccc.txt,也就是说,旧文件名去区配时,能指定从X个字符开始去匹配,符合条件的就改。

TOP

本帖最后由 77七 于 2023-3-19 20:20 编辑

回复 47# image1001


  1. @echo off
  2. rem 匹配文件名包含扩展名 后7位,即后7位如包含在新名中就执行改名
  3. rem 注意  xxxxxx.xxx  的后7位 为  xxx.xxx
  4. rem 使用前先测试
  5. setlocal enabledelayedexpansion
  6. set n=7
  7. cd /d "D:\AAA\"
  8. for /f "delims=" %%i in ('dir /b /a-d ') do (
  9.         set "str=%%~nxi"
  10.         set "str=!str:~-%n%!"
  11.         set m=
  12.         for /f "delims=" %%a in ('type "%~f0" ^| find "!str!"') do (
  13.                 if not defined m (
  14.                         echo ren "%%i" "%%a"
  15.                         ren "%%i" "%%a"
  16.                         set m=1
  17.                 )
  18.         )
  19. )
  20. endlocal
  21. pause
  22. exit
  23. :以下存放新名
  24. 1-001-john.txt
复制代码
bat小白,请多指教!谢谢!

TOP

现在举例的是AAA,BBB,CCC,这都是3位的,如果有的是3位,有的是4位,有的是5位呢?比如1-001-AAA.txt,1-002-BBBB.txt,1-003-cccc.txt,1-004-ddddd.txt这样的,他们的共同点就是左边都是固定的长度

TOP

回复 49# image1001


   http://www.bathome.net/thread-996-1-1.html
参考下这个教程, 修改第10行
例如
set a=!a:~0,n!
舍弃0位,保留n位
bat小白,请多指教!谢谢!

TOP

返回列表