VB实现批量名称修改
2010-01-08 13:21
134 查看
前阵子写了一个目录名/文件名的获取小程序,这两天居然又被名称批量修改麻烦了一下,所以再写一个吧。
注意:你要是只想写一次的话,用批处理更方便。只有多次使用的情况下,自己写程序才有意义。
VB中进行名称修改很容易,用到的就是Name这个函数,用法如下:
Name OldName As NewName,它不仅可以改写名称,而且可以更改目录,比如:
Name "c:/CAN1ED.txt" As "c:/test/CAN01ED.txt"
好了,不多说了,共享代码了:(大家可以参照我的程序来看)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
'比如原文件是有如下几个
'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
这回大家看明白了吧。呵呵
程序也已经上传:http://download.csdn.net/source/1975928
完
注意:你要是只想写一次的话,用批处理更方便。只有多次使用的情况下,自己写程序才有意义。
VB中进行名称修改很容易,用到的就是Name这个函数,用法如下:
Name OldName As NewName,它不仅可以改写名称,而且可以更改目录,比如:
Name "c:/CAN1ED.txt" As "c:/test/CAN01ED.txt"
好了,不多说了,共享代码了:(大家可以参照我的程序来看)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
'比如原文件是有如下几个
'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
这回大家看明白了吧。呵呵
程序也已经上传:http://download.csdn.net/source/1975928
完
相关文章推荐
- jquery实现当修改上传的图片时,默认显示当前图片的名称,当选择新的图片时,显示最新的图片名称
- 批量修改PostgreSQL数据表的名称
- 批量修改文件名称
- 考试系统维护-批量修改图片名称
- 批量修改文件名称( 收藏的一个连接)
- Java批量修改本地Mp3的名称为Mp3Tag中的歌名
- magento,批量修改产品名称
- 使用VB实现邮箱自动注册(二):修改代理服务器
- c++代码批量修改图片名称(重命名)实例及运行结果
- vb实现目录下所有文件名/目录名称的获取
- Altium Designer如何批量修改名称,数值,封装
- MATLAB批量修改图片名称
- C#动态修改文件夹名称(FSO实现,不移动文件)
- ubuntu下实现批量修改文件后缀
- python os模块实例(批量修改图片名称)
- eclipse实现批量修改文件的编码方式
- python实现批量修改图片格式和尺寸
- MultipartRequest实现文件上传,并修改上传文件名称
- 批量修改文件(照片)名称(格式)
- MySQL 中实现数据的批量修改