我可以使用Applescript查找当前的iTunes媒体位置和其他iTunes选项。当我在脚本编辑器中阅读iTunes Applescript Dictionary时似乎没有这样的选项,但肯定有办法实现。
我过去读过com.itunes.plist中存储的东西,但是当我创建一个新的libary时它不是明文和我的plist文件没有改变所以我不相信它仍在使用,或者它是否保持不变到目前为止。
答案 0 :(得分:2)
是的,@ PaulTaylor,您可以使用Apple提供的iTunes Library框架获取AppleScript中当前用户的媒体文件夹位置。 (文件iTunesLibrary at Apple)
这是一个有效的AppleScript:
use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "iTunesLibrary"
set lib to current application's ITLibrary's libraryWithAPIVersion:"1.0" |error|:(missing value)
set mediaFolderPath to POSIX path of (lib's mediaFolderLocation as alias)
--> "/Volumes/LaCie 6/iTunes Library/"
答案 1 :(得分:0)
媒体位置未保存在全局iTunes首选项文件中。因为您可以拥有多个库,并且每个库都定义了自己的媒体位置,所以这实际上保存在库首选项中。默认库位于~/Music/iTunes/iTunes Library.itl
。我不确定这是什么类型的文件。它似乎不是plist / xml文件,也不是sqlite文件。它似乎只是一个专有的二进制文件。
在同一个文件夹中,我还找到了iTunes Music Library.xml
(经过一些测试后,该文件现在已经丢失,所以YMMV用于其余的解释)。这是一个截断的例子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Major Version</key><integer>1</integer>
<key>Minor Version</key><integer>1</integer>
<key>Application Version</key><string>12.3.3.17</string>
<key>Date</key><date>2016-04-14T19:35:27Z</date>
<key>Features</key><integer>5</integer>
<key>Show Content Ratings</key><true/>
<key>Library Persistent ID</key><string>1AEAB6C2057C2167</string>
<key>Tracks</key>
<dict>
</dict>
<key>Playlists</key>
<array>
</array>
<key>Music Folder</key><string>file:///Users/<username>/Music/iTunes/iTunes%20Media/</string>
</dict>
</plist>
注意键Music Folder
。这是您要查找图书馆媒体位置的设置。还有一些库设置,例如播放列表和曲目信息列表。