【发布时间】:2012-10-06 03:05:45
【问题描述】:
我正在编写一个 Apple 脚本,该脚本最终将标记从 EyeTV 导出的所有 iTunes 的广告。但是我遇到了 AppleScript 路径的一个简单问题,EyeTV 应用程序将其作为录制位置返回。这是上下文:
set recordingID to 370404006
set myid to recordingID as integer
tell application "EyeTV"
set eyetvr_file to get the location of recording id myid as alias
end tell
return eyetvr_file
别名“Macintosh HD2:Documents:EyeTV Archive:South Park.eyetv:000000001613eaa6.eyetvr”
现在我需要提取包含路径和文件前缀 000000001613eaa6(使用 this question),以便在文件 000000001613eaa6.edl 中查找相应的商业标记。这是打嗝:
tell application "Finder"
set eyetv_path to container of eyetvr_file
set root_name to name of eyetvr_file
set fext to name extension of eyetvr_file
end tell
结果是,
eyetv_path:应用程序“Finder”的磁盘“Macintosh HD2”的文件夹“Documents”文件夹“EyeTV Archive”的文档文件“South Park.eyetv”
root_name: "000000001613eaa6.eyetvr"
fext: ""
fext 应该是“.eyetvr”,而不是空字符串。如何从 eyetvr_file 或 root_name 中正确提取“.eyetvr”?我已经尝试了一堆像
set fext to name extension of (eyetvr_file as document)
但这会产生类似的错误,
错误“无法将别名 \"Macintosh HD2:Documents:EyeTV Archive:South Park.eyetv:000000001613eaa6.eyetvr\" 转换为类型文档。”编号 -1700 从别名“Macintosh HD2:Documents:EyeTV Archive:South Park.eyetv:000000001613eaa6.eyetvr”到文档
【问题讨论】:
标签: directory applescript filenames filepath file-extension