4

У меня есть большие (около 150 000) TIFF файлы, которые имеют одинаковое имя файла. Они уникальны благодаря структуре каталогов, в которой они хранятся.

Я хотел бы массово переименовать файлы TIFF, чтобы они стали уникальными, основываясь на структуре каталогов, в которой они хранятся.

У кого-нибудь есть какой-нибудь метод достижения этого?

Я использую Windows Server 2012, поэтому решение с использованием сценария cmd, командного файла или инструмента с графическим интерфейсом Windows было бы идеальным.

В идеале это то, что я хотел бы достичь, но если бы мне нужно было иметь больше или всю структуру каталогов в конечном имени файла, это все равно было бы очень и очень полезно.

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

2 ответа2

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 myScript.vbs

1

В утилите массового переименования установите для параметра «Добавить имя папки» значение «Префикс» или «Суффикс» и, при необходимости, добавьте символ разделителя (сентябрь) и задайте «Уровни» для количества каталогов над файлом, которое должно быть включено в его новое имя файла.

снимок экрана пользовательского интерфейса Bulk Rename Utility, настроенного, как описано выше

Вы можете использовать другие функции переименования, например, «Удалить», «Заменить», «RegEx», чтобы дополнительно изменить имена файлов исходных файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .