win7批量重命名文件(win7批量重命名文件没有括号)
windows如何批量重命名文件?
你好,批量重命名文件也是让我很头疼的一件事,一次偶然,我在网上看到一段非常高效的VBA代码,不敢独享,希望让更多的人了解如何快速重命名文件,提高效率,爱上文件整理,摆脱加班命运。
具体步骤如下:
1、新建一个EXCEL工作表文件。
2、点击【开发工具】→Visual Basic打开VBA编辑器。
3、右击鼠标插入模块,将代码复制进去。具体操作参见如上动图。
相关代码如下:
Sub 批量获取文件名()
Cells = ""
Dim sfso
Dim myPath As String
Dim Sh As Object
Dim Folder As Object
Application.ScreenUpdating = False
On Error Resume Next
Set sfso = CreateObject("Scripting.FileSystemObject")
Set Sh = CreateObject("shell.application")
Set Folder = Sh.BrowseForFolder(0, "", 0, "")
If Not Folder Is Nothing Then
myPath = Folder.Items.Item.Path
End If
Application.ScreenUpdating = True
Cells(1, 1) = "旧版名称"
Cells(1, 2) = "文件类型"
Cells(1, 3) = "所在位置"
Cells(1, 4) = "新版名称"
Call 直接提取文件名(myPath & "\")
End Sub
Sub 直接提取文件名(myPath As String)
Dim i As Long
Dim myTxt As String
i = Range("A1048576").End(xlUp).Row
myTxt = Dir(myPath, 31)
Do While myTxt ""
On Error Resume Next
If myTxt ThisWorkbook.Name And myTxt "." And myTxt ".." And myTxt "081226" Then
i = i + 1
Cells(i, 1) = "'" & myTxt
If (GetAttr(myPath & myTxt) And vbDirectory) = vbDirectory Then
Cells(i, 2) = "文件夹"
Else
Cells(i, 2) = "文件"
End If
Cells(i, 3) = Left(myPath, Len(myPath) - 1)
End If
myTxt = Dir
Loop
End Sub
Sub 批量重命名()
Dim y_name As String
Dim x_name As String
For i = 2 To Range("A1048576").End(xlUp).Row
y_name = Cells(i, 3) & "\" & Cells(i, 1)
x_name = Cells(i, 3) & "\" & Cells(i, 4)
On Error Resume Next
Name y_name As x_name
Next
End Sub
4、关闭VBA编辑器,点击【开发工具】→【宏】,选择名为【批量获取文件名】的宏,点击执行,选择需要更重命名的文件存放的路径。
5、在D列输入新的名称,如上动图所示,为每个文件加上序号。
6、点击【开发工具】→【宏】,选择名为【批量重命名】的宏,点击执行。
友情提示:如果希望下次继续用这个文件重命名,请将工作表保存为后缀名为.xlsm的格式。
以上是该问题的解答,希望对您有帮助!
爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。