Попытка получить имя исполнителя из имени файла в каталоге с более чем 1000 MP3-файлами. Я пытаюсь использовать эту подстроку для создания каталога для копирования файлов.
Формат имени файла - "artistname - songtitle.mp3", исполнитель и заголовок разделены символом "-", и все они находятся в одном каталоге.
Пример:
Vic Damone - You And The Night And The Music.mp3
Sarah Vaughan - They Can't Take That Away From Me.mp3
...
Я хочу извлечь имя исполнителя в качестве подстроки, что я могу сделать с Split("-")
, но не знаю, как это сделать для 1000+ файлов (все в одном каталоге).
Я хочу создать новые папки на основе имени исполнителя, а затем переместить все файлы этого исполнителя в правильную папку.
Таким образом, «Сара Воан - они не могут отнять это у меня .mp3» будет скопирована в папку «Сара Воан».
Вот то, с чем я добился успеха, по 1 файлу за раз:
Set-Location -Path L:\ # This is where I have all the files
$file = (Get-ChildItem).BaseName # get rid of the mp3 extension --- this works
$artist = $file.Split("-")[15].Trim # trim will remove the trailing space --- this works (for the 15th element as an example)
Мне нужен какой-то цикл для каждого файла в этом каталоге и какой-нибудь способ получить извлеченное имя исполнителя в качестве имени для нового каталога.