Changing your music folder location will direct where iTunes deposits
future additions to the Library.
Each song reference has a specific and hardcoded location (both drive letter & complete path) to the actual song file so iTunes can find and play (or sync) it. Move the file, rename the file, change the path, re-map the drive it is on, shut down or remove the Drive, and iTunes will lose the file (giving you the '!' of a ‘Broken Link’). Lose, move or corrupt the ‘iTunes Library.itl’ file and your complete Library will ‘vanish’.
*It Cannot Be Stressed Enough:* If you move, edit, delete or otherwise change a music file listed in the iTunes Library with a program or tool other than iTunes, you may end up with a "!" in front of the song name or a message like “the original file could not be found. Would you like to locate it?" It is important to note that iTunes does not keep track of music file changes made outside of iTunes.
This can also happen if you store some/all of your music on an External HD (ExHD) that is not permanently mapped to a specific drive letter. Attaching another external connection (USB Flash Pen, Camera, etc.) can take that drive letter and move your ExHD down the alphabet. iTunes will get lost when this happens. Bet to initially mount any iTunes music ExHD further down the alphabet – say L: (for Lossless) or M: (for Music). This way, your ExHD drive designation should not inadvertently change.
See these Threads for ways of finding &/or removing the Broken Links:
http://discussions.apple.com/message.jspa?messageID=818692#818692
http://discussions.apple.com/message.jspa?messageID=607582
EASIER:
Download this to your Desktop:
http://ottodestruct.com/itunes/FindDeadTracks.txt (right-click, save-link-as)
and this, as well:
http://ottodestruct.com/itunes/RemoveDeadTracks.txt (right-click, save-link-as)
Rename each to FindDeadTracks.js & RemoveDeadTracks.js respectively.
Run iTunes.
1) While iTunes is running, double click
FindDeadTracks.js to run the script.
It will give you a list of all the exclamation marked tracks.
2) While iTunes is running, double click
RemoveDeadTracks.js to run the script.
It will remove all the exclamation marked tracks.
One step, no fuss, no muss.
Then, give Otto42 a big 'Thanks' for this one. 🙂
Best of Luck