VB实现批量名称修改
黄渤 电影前阵⼦写了⼀个⽬录名/⽂件名的获取⼩程序,这两天居然⼜被名称批量修改⿇烦了⼀下,所以再写⼀个吧。
注意:你要是只想写⼀次的话,⽤批处理更⽅便。只有多次使⽤的情况下,⾃⼰写程序才有意义。
VB中进⾏名称修改很容易,⽤到的就是Name这个函数,⽤法如下:
Name OldName As NewName,它不仅可以改写名称,⽽且可以更改⽬录,⽐如:
蚌埠旅游景点大全Name "c:/" As "c:/"
Private Sub Command1_Click() '批量改名
Dim Successstr As String
Dim Successnum As Integer
Dim pathname As String
Dim sf As String
Dim len1, len2, len3 As Integer
Successnum = 0
'⽐如原⽂件是有如下⼏个
'C:/test/【⽼爸⽼妈的浪漫史.第三季】.[How.I.Met.Your.Mother][S0301][Chi-Eng][TVrip][624×352].rmvb 'C:/test/【⽼爸⽼妈的浪漫史.第三季】.[How.I.Met.Your.Mother][S0302][Chi-Eng][TVrip][624×352].rmvb 'C:/test/【⽼爸⽼妈的浪漫史.第三季】.[How.I.Met.Your.Mother][S0303][Chi-Eng][TVrip][624×352].rmvb
'分成如下的三个部分:(text3的??指的是01/02/03这些准备保留数字
'text2:C:/test/【⽼爸⽼妈的浪漫史.第三季】.[How.I.Met.Your.Mother][S03
'text3:??
'text4:[Chi-Eng][TVrip][624×352].rmvb
len1 = Len(text2) '原⽂件的前部分字数
len2 = Len(text3) '原⽂件的需要保留的数字或者字母
len3 = Len(text4) '原⽂件的后半段字数
If Right(Text1, 1) <> "/" Then
pathname = Text1 & "/"
Else
pathname = Text1
End If
张碧晨家庭背景sf = Dir(pathname & "*.*")
Dim tempss As String
Do While sf <> ""
土豆发电If Left$(sf, len1) = Text2 And Len(sf) = len1 + len2 + len3 Then '左侧匹配        tempss = Left$(sf, len1 + len2)
tempss = Right$(tempss, len2)
Name pathname & sf As pathname & Text5 & tempss & Text7
Successnum = Successnum + 1
Successstr = Successstr & sf & vbCrLf
End If
sf = Dir()非诚勿扰刘婷婷结婚
Loop
If Successnum > 0 Then
MsgBox "成功修改" & Successnum & "个⽂件:" & vbCrLf & Successstr Else
MsgBox "没有到匹配项:" & vbCrLf & Text2 & "??" & Text4
End If
End Sub
下⾯再简单介绍下⽤法吧,看看截图,也许⼤家就可以明⽩怎么⽤了:
如图上的⽤法,就是将
E:/批量改名测试/[Mother][S0301][624×352].rmvb  改为了  01.rmvb
E:/批量改名测试/[Mother][S0302][624×352].rmvb  改为了  02.rmvb
E:/批量改名测试/[Mother][S0303][624×352].rmvb  改为了  03.rmvb
丁佩和向华强的女儿这回⼤家看明⽩了吧。呵呵