找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29712|回复: 10

[文件操作] [已解决]请问如何用BAT批量修改文件名?

[复制链接]
发表于 2012-11-7 17:02:31 | 显示全部楼层 |阅读模式
是一些型号代码,结构为字母+数字,我想用bat批量改文件名,再所有文件名中字母和数字之间插入“_”符号
以下列举型号代码
KC50E窗机.doc               →修改后为     KC_50_E窗机.doc
KFR35GWP壁挂分体.doc        →修改后为     KFR_35_GWP壁挂分体.doc
WD75WU立机.doc             →修改后为     WD_75_WU立机.doc

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-11-7 17:22:03 | 显示全部楼层
  1. sed -r "s/^([A-Z]+)([0-9]+)([A-Z]+)/\1_\2_\3/" a.txt >b.txt
复制代码
 楼主| 发表于 2012-11-7 17:40:23 | 显示全部楼层
回复 2# BAT-VBS


    不好意思偶没有说的很清楚是文件 请问你这个代码怎么用?
发表于 2012-11-7 17:46:05 | 显示全部楼层
  1. ren2 -f "([a-zA-Z]*)(\d+)(.*)" "$1_$2_$3"
复制代码
ren2.exe 下载地址: http://www.lomont.org/Software/Utilities/Ren2/ren2.exe
发表于 2012-11-7 18:01:35 | 显示全部楼层
回复 3# YYEnigma


    直接用
 楼主| 发表于 2012-11-7 18:12:48 | 显示全部楼层
万分感谢tmplinshi 班主的回答 试过了 可以用
 楼主| 发表于 2012-11-7 18:13:13 | 显示全部楼层
回复 4# tmplinshi


    万分感谢tmplinshi 班主的回答 试过了 可以用, 但能不能写个批处理来解决啊? 我更想知道 批处理是如何定义查找数字与字母之间的
发表于 2012-11-7 18:52:08 | 显示全部楼层
回复 7# YYEnigma


    BAT没有直接的方法,必须自己写代码做判断,目测代码会比较长、比较复杂。
发表于 2012-11-7 18:53:09 | 显示全部楼层
发表于 2012-11-7 20:10:33 | 显示全部楼层
本帖最后由 tmplinshi 于 2012-11-7 20:12 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. set find_files="dir /b *.doc | findstr [a-zA-Z][a-zA-Z]*[0-9][0-9]*.*"

  4. for /f "delims=" %%a in (' %find_files% ') do (
  5.     set fname=%%a
  6.    
  7.     for /f "delims=0123456789 tokens=1,*" %%b in ("%%a") do (
  8.         set n=1!fname:*%%b=!
  9.         set /a n = n
  10.         set n=!n:~1!
  11.         
  12.         echo !fname! --^> %%b_!n!_%%c
  13.         ren "!fname!" "%%b_!n!_%%c"
  14.     )
  15. )

  16. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
YYEnigma + 1 灰常感谢 帮大忙了
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-11-7 21:17:51 | 显示全部楼层
回复 10# tmplinshi


    tmplinshi 版主真伟大啊!学习了 真的很感谢你写的代码 非常好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 16:34 , Processed in 0.011381 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表