根据条件重命名文件

我有什么可能是一个简单的查询。 我需要根据下面的列表重新命名我的文件。

Column A Column B 00145 AB12 00206 AZ15 00705 AK09 so on ........... 

目前我的文件被命名为根据列A,我需要批量重命名为列B中的名称。有超过一千个logging。

这意味着文件“00145”将被重命名为“AB12”,“00206”到“AZ15”等。

我曾想过在Excel中对它们进行sorting,然后使用filerenamer软件中的重命名列表,但挑战在于文件夹中的文件可能并不一定按照文件编号。 “00705”可能会丢失,所以通过使用重命名列表,所有后续的文件名将被closures。

我需要的是识别列表中和文件夹中可用的文件,然后将它们与相应的名称进行匹配并相应地重命名文件。

任何帮助将不胜感激。

谢谢。

刚刚testing过

 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 

这将从“A2”开始的列“A”下的列表中,它检查文件,如果文件存在,它将重新命名为列“B”中的任何内容,如果文件丢失则跳过该行但计数器去这是从“B”列读取的位置的偏移量,所以它将重命名为“B”列中较早的一个文件。 我还包括一行,所以它填充列“C”与哪个文件重新命名为什么。 PS记住我没有包括任何检查,看目标文件是否存在。 让我知道你是否也需要这个