Board logo

标题: 给文件批量重命名 [打印本页]

作者: wert123     时间: 2007-5-24 15:06    标题: 给文件批量重命名


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 ]
作者: slore     时间: 2007-5-25 13:52
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
作者: wert123     时间: 2007-5-25 18:40
谢谢啊
厉害啊,你和baomaboy的vbs都好厉害,还有什么话要说,还有多好少泪要流,我对你们死心塌地的五体投地了

[ Last edited by wert123 on 2007-5-25 at 06:42 PM ]
作者: wert123     时间: 2007-5-25 18:46
还有啊,能帮我把文件夹中(C:\Logs)的所有包含“qq”的文件名中,将qq的
前面和后面分别加上123吗,大家都一起回来再帮我看看吧

[ Last edited by wert123 on 2007-5-25 at 06:48 PM ]
作者: slore     时间: 2007-5-25 20:32
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
作者: wert123     时间: 2007-5-31 17:35
谢谢啊