Мне нужно пакетно переименовать 2000+ папок, а затем переименовать изображения внутри этих папок с новым именем папки + название продукта + порядковый номер + расширение ".jpg", все это на основе CSV-файла, который я создали, что выглядит так:
folder_old_name,folder_new_name,folder_path,product_name
102597,WK240,C:\Users\Elvis\Desktop\Products\WK240,CASIO_DIGITAL_PIANO
Вот пример текущей папки и ее содержимого:
102597
CASIODIGITALPIANOFRONT.jpg
CASIODIGITALPIANOSIDE.jpg
CASIODIGITALPIANOWITHBOX.jpg
После процесса оно должно выглядеть так:
WK240
WK240_CASIO_DIGITAL_PIANO_1.jpg
WK240_CASIO_DIGITAL_PIANO_2.jpg
WK240_CASIO_DIGITAL_PIANO_3.jpg
Мне удалось переименовать все папки с помощью приведенного ниже кода, но я понятия не имею, как включить инструкцию для переименования файлов так, как я описал.
$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
Import-Csv "C:\Users\Elvis\Desktop\batch_rename.csv" | ForEach-Object {
$old = $_.folder_old_name
if (Test-Path ($old)) {
$newPath = $_.folder_new_name
ren $old $newPath
}
}
Буду признателен, если кто-нибудь поможет мне сделать все это сразу.