标题: [文本处理] [已解决]批处理批量替换文件名 [打印本页]
作者: dengx 时间: 2009-10-14 17:55 标题: [已解决]批处理批量替换文件名
E:\aa\01-学习-bat.txt E:\aa\02-学习-htm.txt E:\aa\03-学习-vbs.txt . ...有很多
批量替换文件名, 把 " 学习 " 两字改成 " 其它字符或数字 "
[ 本帖最后由 dengx 于 2009-10-20 21:16 编辑 ]
作者: Seter 时间: 2009-10-14 20:47
- set r=不学习
- for %%i in (e:\aa\*-学习-bat.txt) do (
- call,set s=%%i
- call,set s=%%s:~,9%%%r%%%s:~-8%%
- call,ren "%%i" "%%s%%"
- )
复制代码
作者: keen 时间: 2009-10-14 23:21
来个VBS,可以把“不学习”改成你想要改的字。- strFolder = "E:\aa\"
- strString = "不学习"
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- Set objFolder = objFSO.GetFolder(strFolder)
- Set allFiles = objFolder.Files
- For Each File In allFiles
- If Lcase(Right(File.Name, 11)) = "-学习-bat.txt" Then
- strNewName = Replace(File.Name, "学习", strString)
- objFSO.MoveFile File, strFolder & strNewName
- End If
- Next
复制代码
作者: dengx 时间: 2009-10-15 14:29
2楼的bat 的没效果 ... . ..
如果要替换的是数字不是字符, 3楼也不能运行
[ 本帖最后由 dengx 于 2009-10-15 14:42 编辑 ]
作者: dengx 时间: 2009-10-15 14:37
开始题目有些误解, 修正了一下
[ 本帖最后由 dengx 于 2009-10-15 14:46 编辑 ]
作者: keen 时间: 2009-10-15 14:50 标题: 回复 4楼 的帖子
2楼和3楼的代码都是根据你顶楼的要求写出的代码。
如果你的要求要改变,当然代码也要改变。
你5楼的要求我不是很明白,请详细说明,或者举例说明。
再次,要求把更新的问题,更新到顶楼,切勿跟帖更新。
作者: keen 时间: 2009-10-15 16:13 标题: 回复 5楼 的帖子
这样再试试:- @Echo off&Setlocal Enabledelayedexpansion
- Set strFolder=E:\aa
- Set strChgName=不学习
- For %%i in (%strFolder%\*学习*.txt) do (
- Set name=%%~ni
- Set name=!name:学习=%strChgName%!
- Ren "%%i" "!name!%%~xi"
- )
- pause
复制代码
[ 本帖最后由 keen 于 2009-10-15 16:28 编辑 ]
作者: dengx 时间: 2009-10-17 14:37
原帖由 keen 于 2009-10-15 14:50 发表
2楼和3楼的代码都是根据你顶楼的要求写出的代码。
如果你的要求要改变,当然代码也要改变。
你5楼的要求我不是很明白,请详细说明,或者举例说明。
再次,要求把更新的问题,更新到顶楼,切勿跟帖更新。
谢谢你的回复, 5楼的意思是说, 开始1楼的题目写错, 导致大家误解, 后来已经修改正, 1楼也更新了
作者: dengx 时间: 2009-10-19 10:11
7楼正确, 如果只想替换前五位数字呢? 应该怎么修改
作者: Seter 时间: 2009-10-21 18:13
原帖由 dengx 于 2009-10-19 10:11 发表
7楼正确, 如果只想替换前五位数字呢? 应该怎么修改
变成前五位数字...看不懂啊
- set r=不学习
- for %%i in (e:\aa\*-学习-*.txt) do (
- call,set s=%%i
- call,set s=%%s:~,9%%%r%%%s:~-8%%
- call,ren "%%i" "%%s%%"
- )
复制代码
反正我看vbs啊htm啊都是三个字符...偷个小懒来拿分...(和keen大的代码还是有不同的!)
话说如果只替换中间那个,就是 学习-学习-学习.txt-->学习-不学习-学习.txt的话...就只能for潜嵌套了吧
作者: syqtkj 时间: 2009-12-4 16:39 标题: 多级目录替换
比如要修改的文件不都是在E:\aa下面,有些是在E:\bb或者E:\bb\cc下面,请问目录改如何定义
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |