Board logo

标题: [文件操作] 批处理如何去除文件名后面的数字? [打印本页]

作者: boyuboyu    时间: 2010-10-2 10:49     标题: 批处理如何去除文件名后面的数字?

我“D:\名单目录”下有很多以人名命名的文件夹每个文件夹里都有几个不同的文件,这几个不同的文件名字都是由汉字和数字组成的,如“第一天作业08、第四天作业16、第三天作业02……”,怎么样才能把文件名字后面的数字去除掉
作者: edmond    时间: 2010-10-2 11:35

你什么格式的文件
去掉数字会不会发生重名
作者: Batcher    时间: 2010-10-2 12:28

数字固定是两位?没有特殊情况?
作者: leap    时间: 2010-10-2 14:37

请将该批处理放于名单目录下
还有请教各位大大,怎么解决for /r d:\名单目录\ %%i in (.)......只读取"d:\名单目录"下的子目录,而不是连"d:\名单目录"也读取
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r %%i in (.) do (
  4. set a=%%~fi
  5. set b=%%~ni
  6. for /l %%i in (0,1,9) do (
  7. set b=!b:%%i=!
  8. )
  9. ren !a! !b!
  10. )
  11. exit
复制代码

作者: powerbat    时间: 2010-10-2 14:50

for /r d:\名单目录\ %%i in (.)...... 本来就会连"d:\名单目录"也读取的
作者: Batcher    时间: 2010-10-2 14:54     标题: 回复 4楼 的帖子

  1. @echo off
  2. for /r "D:\名单目录" %%a in (*.*) do (
  3.     echo %%a
  4. )
复制代码

作者: boyuboyu    时间: 2010-10-2 16:42     标题: 回复 2楼 的帖子

是.PPT文件,去掉数字不会出现同名字,数字固定是2位的。
作者: leap    时间: 2010-10-2 16:48

我又看错了。。。
作者: powerbat    时间: 2010-10-2 16:54

是这个帖子中的问题吧:
批处理如何将不同文件夹下的文件随机复制到另外的文件夹中?
http://www.bathome.net/thread-9468-1-1.html
同一个问题最好不要分成几个帖子。

把我8L代码中的echo copy "%%i\!subject!!x!.doc" "%%a"改成
echo copy "%%i\!subject!!x!.doc" "%%a\!subject!.doc"
作者: powerbat    时间: 2010-10-2 17:04

单就此问题:
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "stu=D:\学生名单"
  4. for /d %%a in ("%stu%\*") do for %%i in ("%%a\*") do (
  5.     for /f "delims=0123456789" %%x in ("%%i") do ren "%%i" "%%x"
  6. )
  7. pause
复制代码

作者: leap    时间: 2010-10-2 17:07

根据斑竹的修改了下,应该可以了
楼主试试
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r d:\名单目录\ %%i in (*.*) do (
  4. set a=%%~fi
  5. set b=%%~xni
  6. for /l %%i in (0,1,9) do (
  7. set b=!b:%%i=!
  8. )
  9. ren "!a!" "!b!"
  10. )
  11. exit
复制代码

作者: Batcher    时间: 2010-10-2 18:26

  1. @echo off
  2. for /r "D:\名单目录" %%a in (*.ppt) do (
  3.     set "file=%%~na"
  4.     setlocal enabledelayedexpansion
  5.     set "file=!file:~0,-2!"
  6.     ren "%%a" "!file!.ppt"
  7.     endlocal
  8. )
复制代码

作者: Batcher    时间: 2010-10-2 18:27     标题: 回复 7楼 的帖子

把所有信息都更新到顶楼吧




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