标题: [文件操作] 批处理如何去除文件名后面的数字? [打印本页]
作者: 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:\名单目录"也读取
- @echo off
- setlocal enabledelayedexpansion
- for /r %%i in (.) do (
- set a=%%~fi
- set b=%%~ni
- for /l %%i in (0,1,9) do (
- set b=!b:%%i=!
- )
- ren !a! !b!
- )
- exit
复制代码
作者: powerbat 时间: 2010-10-2 14:50
for /r d:\名单目录\ %%i in (.)...... 本来就会连"d:\名单目录"也读取的
作者: Batcher 时间: 2010-10-2 14:54 标题: 回复 4楼 的帖子
- @echo off
- for /r "D:\名单目录" %%a in (*.*) do (
- echo %%a
- )
复制代码
作者: 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
单就此问题:- @echo off
- setlocal enableDelayedExpansion
- set "stu=D:\学生名单"
- for /d %%a in ("%stu%\*") do for %%i in ("%%a\*") do (
- for /f "delims=0123456789" %%x in ("%%i") do ren "%%i" "%%x"
- )
- pause
复制代码
作者: leap 时间: 2010-10-2 17:07
根据斑竹的修改了下,应该可以了
楼主试试
- @echo off
- setlocal enabledelayedexpansion
- for /r d:\名单目录\ %%i in (*.*) do (
- set a=%%~fi
- set b=%%~xni
- for /l %%i in (0,1,9) do (
- set b=!b:%%i=!
- )
- ren "!a!" "!b!"
- )
- exit
复制代码
作者: Batcher 时间: 2010-10-2 18:26
- @echo off
- for /r "D:\名单目录" %%a in (*.ppt) do (
- set "file=%%~na"
- setlocal enabledelayedexpansion
- set "file=!file:~0,-2!"
- ren "%%a" "!file!.ppt"
- endlocal
- )
复制代码
作者: Batcher 时间: 2010-10-2 18:27 标题: 回复 7楼 的帖子
把所有信息都更新到顶楼吧
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |