@pavelzabavin

Как массово переименовать файлы из двух разных папок?

Здравствуйте.

Подскажите, пожалуйста, решение для массового переименования файлов.

В папке №1 хранится музыкальная база данных, которая имеет определенный вид:
MKDL10123_Pupko, Ivan_-_Track 1.wav
MKDL10144_Prosto, Kostya_-_Track 2.wav
MKDL10147_Good, Man_-_Track 352.wav

В папке №2 хранятся файлы расширения программы, которые имеют следующий вид:
MKDL10123.wav_dig
MKDL10123.wav_env
MKDL10144.wav_dig
MKDL10144.wav_env
MKDL10147.wav_dig
MKDL10147.wav_env

Задача: сделать так, чтобы все файлы из папки №2 данных приняли следующий вид:
MKDL10123_Pupko, Ivan_-_Track 1.wav_dig
MKDL10123_Pupko, Ivan_-_Track 1.wav_env
MKDL10144_Prosto, Kostya_-_Track 2.wav_dig
MKDL10144_Prosto, Kostya_-_Track 2.wav_env
MKDL10147_Good, Man_-_Track 352.wav_dig
MKDL10147_Good, Man_-_Track 352.wav_env

Музыкальная база насчитывает более 5 тысяч файлов, ручками работать не хочется.

Наверняка, в Total Commander или средствами Windows можно как-то массово переименовать файлы. Буду рад, если кто-то подскажет/поможет осуществить задачу. Заранее спасибо!
  • Вопрос задан
  • 896 просмотров
Решения вопроса 1
@BeatHazard
Для таких задач есть Powershell.
Думаю этот скрипт вам поможет

$dir1 = "C:\1" #папка откуда надо брать имена для файлов
$dir2 = "C:\2" #папка где будут переименовываться файлы
$folder1 = Get-ChildItem -Path "$dir1" | Select-Object -ExpandProperty Name
$folder2 = Get-ChildItem -Path "$dir2" | Select-Object -ExpandProperty Name
$folder1 = $folder1 -replace ".wav",""
foreach ($fold in $folder2)
{
$tmp = $fold.split(".")[0]
$tmp2 = $folder1 | Where-Object {$_ -like "*$tmp*"}
$tmp3 = $fold.split(".")[-1]
$newname = "$tmp2.$tmp3"
Rename-Item -path "$dir2\$fold" $newname
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nidalee
@nidalee
Я пользуюсь Advanced Renamer, может помочь. Там много чего можно наворотить.
Хотя у вас какой-то очень странный кейс, как программа должна догадаться, во что переименовывать конечный файл, по первым цифрам? Думаю, что это самому писать надо скрипт...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы