Board logo

标题: [文件操作] [已解决]批处理怎样取原文件名的前8位来重新命名文件? [打印本页]

作者: ebookhome    时间: 2012-10-29 14:50     标题: [已解决]批处理怎样取原文件名的前8位来重新命名文件?

本帖最后由 ebookhome 于 2012-11-16 15:13 编辑

求一批处理,能批量重命名文件夹中的所有图片,命名方式是取原文件名称的前8位来重新命名文件

如:
原文件名:A1000056人员签到表扫描.jpg
新命名为:A1000056.jpg


谢谢!
作者: cjiabing    时间: 2012-10-29 15:19

思路:
for  /r  获取所有文件的文件名
set  name=%%~na
ren %%a   !name!
作者: 韩立    时间: 2012-10-29 21:19

本帖最后由 韩立 于 2012-10-29 21:21 编辑

写了个
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('dir /b') do (
  4. set n=%%i
  5. ren %%i !n:~0,8!!n:~-4!)
  6. pause
复制代码

作者: apang    时间: 2012-10-29 21:39

  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (
  3.   set "Name=%%~ni"
  4.   setlocal enabledelayedexpansion
  5.   ren  "!Name!.jpg" "!Name:~,8!.jpg"
  6.   endlocal
  7. )
  8. pause
复制代码

作者: BAT-VBS    时间: 2012-10-30 16:50

回复 3# 韩立


文件名里面有感叹号的话可能会出问题
作者: tmplinshi    时间: 2012-10-30 17:30

本帖最后由 tmplinshi 于 2012-10-30 17:37 编辑
  1. RenRe -s "^(.{8}).*(\.jpg)$" -e "$1$2"
复制代码
如果需要包括子文件夹的话:
  1. RenRe -r . -s "^(.{8}).*(\.jpg)$" -e "$1$2"
复制代码
RenRe 下载地址:
http://www.dahlsys.com/static/RenRe32.7z
作者: ebookhome    时间: 2012-11-16 15:18

多谢版主以及楼上几位朋友,辛苦了

谢谢大家帮忙




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