Мне нужен способ переименовать файлы в каталоге, который приведет к ошибке с простым Rename-Item
. Для файлов нужен тот же 10-значный код, за которым следует 4-значный заполнитель (пожалуйста, только цифры).
Текущие имена файлов:
01_img_0028.JPG 01_img_0029.JPG 02_img_0028.JPG 02_img_0029.JPG
Учитывая приведенные выше файлы, переименование файлов с split
(используя 4 цифры в исходном имени) не удастся, потому что будут файлы с тем же именем:
B0000000000.0028.JPG B0000000000.0029.JPG B0000000000.0028.JPG B0000000000.0029.JPG
У кого-нибудь есть идея обойти это? 4 цифры могут быть любой последовательностью чисел, но было бы здорово, если бы конечный результат выглядел так:
B0000000000.0001.JPG B0000000000.0002.JPG B0000000000.0003.JPG B0000000000.0004.JPG
Вот мой текущий код, который переименует все уникальные файлы и первый из дубликатов, но выдаст ошибку в файлах, которые затем будут повторяющимися именами:
$jpgToRename = GCI -Path $pathToRename -Filter '*.jpg' -R
foreach ($jpg in $jpgToRename) {
$splitPath = $jpg.FullName.Split("\\")
$newName = -join ($splitPath[7], ".", $jpg.BaseName, ".PC_850.jpg")
Rename-Item $jpg.FullName -NewName $newName
}