我有一个简单的查询。我需要根据以下列表重命名我的文件。
Column A Column B
00145 AB12
00206 AZ15
00705 AK09
so on ...........
目前我的文件按照A列命名,我需要将它们批量重命名为B列中的名称。有超过一千条记录。
这意味着文件" 00145"将被重命名为" AB12"," 00206"到" AZ15"等等。
我已经考虑过在excel中对它们进行排序,然后在filerenamer软件中使用重命名列表,但是挑战在于文件夹中的文件可能不一定按顺序排列,即文件号。 " 00705"可能会丢失,因此通过使用重命名列表,所有后续文件名都将被关闭。
我需要的是识别列表和文件夹中可用的文件,然后将它们与相应的名称相匹配,并相应地重命名文件。
任何帮助都将受到高度赞赏。
谢谢。
答案 0 :(得分:1)
刚刚测试
Sub rename_batch()
filePath = "C:\tmp\"
counter = 0
For Each c In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
If Dir(filePath & c.Value) <> "" Then
Name filePath & c.Value As filePath & c.Offset(counter, 1).Value
c.Offset(0, 2).Value = c.Value & " > " & c.Offset(counter, 1).Value
Else
counter = counter - 1
End If
Next
End Sub
这将列在&#34; A&#34;列中的列表中。从&#34; A2&#34;开始之后,它检查文件,如果文件存在,它将重命名为列中的任何内容&#34; B&#34;,如果文件丢失,它会跳过该行,但计数器会下降,这是从哪里读取的偏移量列&#34; B&#34;,因此它将重命名为#34; B&#34;列中较早的文件。我还包括一条线,因此它填充了列&#34; C&#34;用哪个文件重命名为什么。 附:请记住,我没有包括任何检查,以查看目标文件是否存在。如果您也需要,请告诉我