2014-11-07 3 views
1

Snow Leopard에서는 작동했지만 요세미티에서는 실패한 AppleScript를 업그레이드하고 있습니다.AppleScript : Finder의 Duplicate 명령이 Yosemite에서 참조를 반환하지 않습니다.

Finder의 "중복"명령과 관련된 한 가지 문제점을 추적했습니다. 참조가 SMB를 사용하여 탑재 된 네트워크 공유의 파일 인 경우 더 이상 복제 된 개체에 대한 참조가 반환되지 않습니다. 이것이 요세미티의 OSAX 구현의 버그 일 수 있다고 생각하지만 아직 해결 방법을 찾지 못했습니다. 요세미티 맥에

set testPath to "MyVolume:Path:To:File:testfile.txt" 

tell application "Finder" 
    set fileRef to duplicate (testPath as alias) 
    log fileRef as string 
end tell 

, 중복 명령은 중복을 만들 작동하지만 반환 fileRef는 정의되지 않습니다. 로그 라인의 위치에서, 나는 오류 얻을하십시오 스노우 레오파드 (Snow Leopard) 맥에 The variable fileRef is not defined.

를 중복 명령은 중복을 만들 작동하고, 반환 된 fileRef 변수는 괜찮습니다. 콘솔 로그 출력은 다음과 같습니다 MyVolume:Path:To:File:testfile copy.txt

요세미티 기계의 파인더 사전은 말한다 :

duplicate v : Duplicate one or more object(s)

[...]

→ specifier : to the duplicated object(s)

중복 명령은 지정자를 반환하기로되어 있지만, 더 이상 수행되지 않습니다.

이 문제가 발생한 사람이 있습니까? 내가 놓친 게 있니? 해결 방법이 있습니까?

감사합니다.

답변

0

이런 종류의 문제 (적어도 이상)는 복제 파일에 "파일"과 "폴더"라는 단어를 사용하거나 작업에 실패했는지 확인해야합니다. 예는 다음과 같은 폴더에 그 일의 경우

tell application "Finder" 
    set CurrentFile to duplicate file CurrentFile to folder CurrentFolder 
end tell 

, 단지 "CurrentFolder 폴더로"내려

관련 문제