我有大量(约 150,000 个)tiff 文件,它们都具有相同的文件名。由于它们所在的目录结构,它们是唯一的。
我想根据 tiff 文件所在的目录结构批量重命名它们,使它们变得唯一。
有人有实现这一目标的方法吗?
我正在使用 Windows Server 2012,因此使用 cmd 脚本、批处理文件或 Windows GUI 工具的解决方案将是完美的。
理想情况下,这就是我想要实现的,但如果我必须在最终文件名中包含更多或全部目录结构,这仍然会非常非常有帮助。
C:\A_001\B_0001\ABC\0001.tif->ABC.tif
C:\A_001\B_0001\JKL:\0001.tif -> JKL.tif
C:\A_001\B_0001\XYZ\0001.tif->XYZ.tif
C:\A_001\B_0002\123\0001.tif -> 123.tif
C:\A_001\B_0002\456\0001.tif -> 456.tif
C:\A_001\B_0002\789\0001.tif -> 789.tif
答案1
在批量重命名实用程序,将“附加文件夹名称”设置为“前缀”或“后缀”,并可选择添加分隔符(Sep.),并将“级别”设置为新文件名中应包含文件上方的多少个目录。
您可以使用其其他重命名功能,例如“删除”、“替换”、“RegEx”,进一步修改原始文件的文件名。
答案2
您可以使用 VBScript 轻松完成此操作,如下所示(未测试!):
Const cRootDir = "here_to_start"
Const sFileToRename = "here_to_rename"
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim oRootDir : Set oRootDir = Fso.GetFolder(cRootDir)
For Each subfolder In oRootDir
For Each oFile in subfolder.Files
If oFile.Name = sFileToRename Then Fso.MoveFile oFile, subfolder & ".tif"
Next
Next
你可以使用以下命令启动此脚本
cscript.exe 我的脚本