中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 给文件批量重命名 上一主题 | 下一主题
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『楼 主』:  给文件批量重命名


strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colFileList = objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Directory.Name='C:\Logs'} Where " _
        & "ResultClass = CIM_DataFile")

For Each objFile In colFileList
    strNewName = objFile.Drive & objFile.Path & "pl-" & _
        objFile.FileName & "." & objFile.Extension
    errResult = objFile.Rename(strNewName)
Next
不知道是哪位高手写的code,以前保存在我的硬盘里,有些我看不懂,现在我把它贴出来
上面的代码是把'C:\Logs'文件夹下所以文件加-pl前缀
'C:\Logs'能用参数换出来吗,比如说弄个inputbox 以后方便些

还有哦,怎么把它该一下,给文件名的屁股后面加尾巴吗,哦,说错了
怎么把文件名字后面加-pl的后缀啊,怎么改

[ Last edited by wert123 on 2007-5-30 at 06:03 PM ]

2007-5-24 15:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

Dim objWMIService,colFileList
Dim TargetPath,ForeStr,MidStr,BackStr

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
TargetPath = InputBox("请输入要修改的目录路径:","路径","C:\Logs")
Set colFileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='" & TargetPath & "'} Where " _
& "ResultClass = CIM_DataFile")

ForeStr = "pl-"    '加在文件名之前的字符串
MidStr = "-Slore"  '加在扩展名之前的字符串
BackStr = "-pl"    '加在扩展名之后的字符串

For Each objFile In colFileList
    strNewName = objFile.Drive & objFile.Path & ForeStr & _
objFile.FileName & MidStr & "." & objFile.Extension & BackStr
    errResult = objFile.Rename(strNewName)
Next

Set colFileList = Nothing
Set objWMIService = Nothing

2007-5-25 13:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 3 楼』:  

谢谢啊
厉害啊,你和baomaboy的vbs都好厉害,还有什么话要说,还有多好少泪要流,我对你们死心塌地的五体投地了

[ Last edited by wert123 on 2007-5-25 at 06:42 PM ]

2007-5-25 18:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 4 楼』:  

还有啊,能帮我把文件夹中(C:\Logs)的所有包含“qq”的文件名中,将qq的
前面和后面分别加上123吗,大家都一起回来再帮我看看吧

[ Last edited by wert123 on 2007-5-25 at 06:48 PM ]

2007-5-25 18:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

Dim objWMIService,colFileList
Dim TargetPath,ForeStr,MidStr,BackStr

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
TargetPath = InputBox("请输入要修改的目录路径:","路径","C:\Logs")
Set colFileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='" & TargetPath & "'} Where " _
& "ResultClass = CIM_DataFile")

ForeStr = Empty ' "pl-"    '加在文件名之前的字符串
MidStr = Empty '"-Slore"  '加在扩展名之前的字符串
BackStr = Empty ' "-pl"    '加在扩展名之后的字符串

For Each objFile In colFileList
    strNewName = objFile.Drive & objFile.Path & ForeStr & _
Replace(objFile.FileName,"qq","123qq123") & MidStr & "." & objFile.Extension & BackStr
    errResult = objFile.Rename(strNewName)
Next

Set colFileList = Nothing
Set objWMIService = Nothing

   此帖被 +2 点积分    点击查看详情   
评分人:【 wert123 分数: +2  时间:2007-5-31 17:35


2007-5-25 20:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 6 楼』:  

谢谢啊

2007-5-31 17:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: