The problem has been solved for both Mac and PC's.
First things first, highlight all the songs in your library, right click, get info, then click ok without updating anything... this will update your entire library and mark songs as missing if they are missing. Then run the script that corresponds to your computer (pc or mac)
----------------------------------------
Script to delete lost music files on a PC... If your unfamiliar with scripting, just open notepad, paste the following in it, save it as "script.vbs" and then double click it to run it. Be patient it may take a while if your library is large. A message will pop up when its done.
' RemoveDeadTracks.vbs --------------------------------------
ITTrackKindFile = 1
deletedTracks = 0
set iTunesApp = WScript.CreateObject("iTunes.Application")
set mainLibrary = iTunesApp.LibraryPlaylist
set tracks = mainLibrary.Tracks
for each currTrack in tracks
' is this a file track?
if (currTrack.Kind = ITTrackKindFile) then
' yes, does it have an empty location?
if (currTrack.Location = "") then ' yes, delete it
currTrack.Delete()
deletedTracks = deletedTracks + 1
end if
end if
next
Source: "clinko" of Digg (see comments)
http://digg.com/software/MakeiTunes_rescan_folders_and_remove_missingfiles
-----------------------------------------
Script to delete lost music files on a Mac (not sure what script language this is, I'm not familiar with using a mac, but heres the script)
tell application "iTunes"
set thePlaylist to library playlist 1
set musicFiles to the file tracks of thePlaylist
repeat with mf in musicFiles
--the name of mf as string
set hasLoc to ""
if (the location of mf as string ¬
is equal to "missing value") then
try
set comment of mf to the comment of mf & ""
on error number errNum
delete mf
end try
end if
end repeat
end tell
Source :
http://www.macosxhints.com/article.php?story=2007031309145927
------------------------
Hope that helps.