Перенос библиотеки iTunes под Mac OS X

Jan 28, 2012 16:52

После установки нового диска в Mac Mini появилась возможность перенести библиотеку с музыкой из сетевого хранилища на локальный диск. Задача эта содержит один нетривиальный момент - помимо собственно переноса файлов, требуется обновить информацию о них в базе iTunes. Если вы используете консолидированную в iTunes библиотеку (как это рекомендует ( Read more... )

apple, it, macos, бесполезные записи, компьютер, itunes

Leave a comment

Comments 5

absolutequilion January 28 2012, 17:25:38 UTC
Мен, ты смеёшься?
А скопировать папку iTunes на новое место и даблкликнуть потом на iTunes Music Library.xml?

Я обычно так делал.

Либо держишь alt зажатым при запуске iTunes и выбираешь новый локейшн :)

Пути оно подправит, не боись.

Reply

lerm_ru January 28 2012, 18:27:22 UTC
> А скопировать папку iTunes на новое место и даблкликнуть потом на iTunes Music Library.xml?
> Пути оно подправит, не боись.

(Вздыхая) Начнем с первого пункта в моем описании - у тебя библиотека iTunes консолидирована или нет? В смысле - вся твоя музыка лежат в одном каталоге, который прописан в iTunes или нет? Галочка "Сохранять информацию о песнях в папке iTunes Media" в настройках стоит?

Reply

boojin April 13 2014, 19:22:44 UTC
Вечер добрый.
У меня почему ваш скрипт завершается со ошибкой
"Результат:
error "Не удается получить POSIX path of missing value." number -1728 from POSIX path of missing value"

Reply

lerm_ru April 13 2014, 21:01:26 UTC
Хм. Странно - судя по ошибке, в библиотеке оказался File Track без заполненного location. Честно говоря, я уже давно не работал с AS, но можно попробовать сделать так - пропускать все неправильные записи:

set oldRoot to "/Volumes/Storage/Media/Музыка/Mp3/"
set newRoot to "/Users/lerm/Music/Library/"
set oldLength to (length of oldRoot) + 1

tell application "iTunes"
set libPlaylist to library playlist 1
set libLength to count of file tracks of libPlaylist
repeat with i from 1 to libLength
set curTrack to track i of libPlaylist
try
if get class of curTrack is file track then
set curLocation to location of curTrack
set curPath to POSIX path of curLocation
if curPath starts with oldRoot then
set newPath to newRoot & (text oldLength thru length of curPath)
set newFile to newPath as POSIX file
set location of curTrack to newFile
end if
end if
on error errStr number errorNumber
log errStr
log curTrack
log name of curTrack as string
end try
end repeat
end tell
log "Done."
На всякий ( ... )

Reply


Leave a comment

Up