코드를 더 많이 볼 수 있습니다. 특히 흥미로운 것은 사용하는 가치와 그것이 파생되는 방식입니다. 정확한 오류 메시지를 보는 것도 유용 할 것입니다 (AppleScript 오류 대화 상자 시트에서 텍스트를 복사 할 수 있어야합니다. 스크립트 편집기/& # xfeff; AppleScript 편집기).
file track
클래스의 사전 항목은 해당 location
속성이 쓰기 가능 alias
값임을 나타냅니다. 당신이 아마도 실행중인 문제는 값에 대한 별칭을 사용하고 있지 않다는 것입니다.
다음 코드는 하나 choose file
에서 대화 형 프롬프트를 사용하여 트랙의 위치를 변경하는 방법을 보여줍니다 (반환 alias
) :
set m to path to music folder
tell application "iTunes"
set trk to first item of selection
set l to location of trk
if class of l is alias then
set m to l
end if
set {d, a, n} to {database ID, artist, name} of trk
choose file with prompt "Choose the file to use for " & d & ": " & a & "—" & n default location m
set location of trk to result
end tell
choose file
방법은 당신이 어떤 일을하고 있기 때문에 당신이 비록 원하는 것이 아니다 자동화 된 문자열 기반 경로 이름 번역.
AppleScript에서 경로 이름을 사용하는 경우 사용할 수있는 POSIX와 HFS의 두 가지 종류가 있습니다. POSIX 경로 이름은 구분 된 구성 요소를 슬래시 (모든 구성 요소의 콜론 허용)합니다. HFS 경로 이름에는 콜론으로 구분 된 구성 요소가 있고 (모든 구성 요소 내부에는 슬래시가 허용됨) 일반적으로 볼륨 이름 구성 요소로 시작합니다.
사용, 다음의 식 AppleScript로
alias
에 변수
str
에 저장되어있는 POSIX의 경로 이름을 변환하려면 :
POSIX file str as alias
는 AppleScript로 alias
에 변수 str
에 저장된 HFS 경로 이름을 변환하기를, 다음 식을 사용 :
tell application "iTunes"
set trk to first item of selection
set l to location of trk
set newPath to my computeNewPath(POSIX path of l)
set location of trk to POSIX file newPath as alias
end tell
to computeNewPath(pp)
-- presumably something interesting happens here
return pp
end computeNewPath
: 예를 들어
alias str
그대로 아이튠즈 라이브러리 데이터베이스 (iTunes Library.itl
)을 유지하면서 다른 위치로 미디어 파일 (iTunes에서 "조직"되지 않은)를 이동하는 방법
내 코드에서 별칭 유형에 캐스트가 누락되었습니다. 감사! –