October 2004
Beginner to intermediate
456 pages
12h 36m
English
Automatically delete the tracks in iTunes whose files are no longer available.
Sometimes, you’ll see tracks listed in iTunes with an exclamation point (!) next to their names. These are so-called dead tracks: tracks whose files iTunes cannot locate because the files either are missing or have been deleted. In any case, you can eliminate them all from your iTunes library and playlists with this AppleScript hack.

Figure 5-11. Wow, over 3,000 results!
This script examines each file track in the main library and
checks if its locationproperty is
missing value.If it is, the track
is removed from iTunes.
tell application "iTunes"
-- initialize some variables
set lib to library playlist 1
set allUPNames to name of user playlists
set prog to 500
set delTracks to 0
set checkedTracks to 0
set ddMessage to ""
set fixed indexing to true
-- go through library tracks backwards
repeat with t from (count of file tracks of lib) to 1 by -1
set aTrack to file track t of lib
try
if aTrack's location is missing value then
delete aTrack
set delTracks to delTracks + 1
end if
end try
set checkedTracks to checkedTracks + 1
if frontmost and ¬
(prog is not 0) and ¬
(checkedTracks mod prog) is 0 then
if delTracks is not 0 then ¬ set ddMessage to (delTracks & " dead tracks removed…") display ...