寫了一個(gè)目錄名/文件名的獲取小程序,這兩天居然又被名稱批量修改麻煩了一下,所以再寫一個(gè)吧。
注意:你要是只想寫一次的話,用批處理更方便。只有多次使用的情況下,自己寫程序才有意義。
VB中進(jìn)行名稱修改很容易,用到的就是Name這個(gè)函數(shù),用法如下:
Name OldName As NewName,它不僅可以改寫名稱,而且可以更改目錄,比如:
Name "c:/CAN1ED.txt" As "c:/test/CAN01ED.txt"
好了,不多說(shuō)了,共享代碼了:(大家可以參照我的程序來(lái)看)http://download.csdn.net/source/1975928
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
'比如原文件是有如下幾個(gè)
'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
'分成如下的三個(gè)部分:(text3的??指的是01/02/03這些準(zhǔn)備保留的數(shù)字)
'text2:C:/test/【老爸老媽的浪漫史.第三季】.[How.I.Met.Your.Mother][S03
'text3:??
'text4:[Chi-Eng][TVrip][624×352].rmvb
len1 = Len(text2) '原文件的前部分字?jǐn)?shù)
len2 = Len(text3) '原文件的需要保留的數(shù)字或者字母
len3 = Len(text4) '原文件的后半段字?jǐn)?shù)
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 '左側(cè)匹配
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 & "個(gè)文件:" & vbCrLf & Successstr
Else
MsgBox "沒(méi)有找到匹配項(xiàng):" & vbCrLf & Text2 & "??" & Text4
End If
End Sub
下面再簡(jiǎn)單介紹下用法吧,看看截圖,也許大家就可以明白怎么用了:

如圖上的用法,就是將
E:/批量改名測(cè)試/[Mother][S0301][624×352].rmvb 改為了 01.rmvb
E:/批量改名測(cè)試/[Mother][S0302][624×352].rmvb 改為了 02.rmvb
E:/批量改名測(cè)試/[Mother][S0303][624×352].rmvb 改為了 03.rmvb
這回大家看明白了吧。呵呵