2017-12-15 21 views
0

, 나는 성공적으로이 코드를 사용하여 선택 나의 바탕 화면에 폴더를 나열 할 수 있었다 폴더 :이 오류를 반환목록 폴더/AppleScript를 사용하여 사용자

set Users to "/Users" 
set the_folder to Users 
tell application "Finder" 
set foldernames to name of every folder of entire contents of the_folder 
end tell 
set theChosenOne to choose from list foldernames 

: 오류/사용자 \ "의 전체 내용을 가져올 수 없습니다"\ "." "/ 사용자"의«수업 요지»에서 -1728 번

검색된 정보가 많지 않습니다. 어떤 도움을 주셔서 감사합니다.

+0

'find/Users -maxdepth 1 -type d'와 함께'do shell script'를 사용하면 운이 좋을지 모릅니다. 터미널에서 먼저 시도해보십시오. –

답변

1

Finder가 슬래시로 구분 된 POSIX 경로를 지원하지 않기 때문에 오류가 발생합니다.

그러나 더 간단한 해결책이 있습니다. path to users folderalias을 참조하여 직접 사용할 수있는 /Users 폴더로 이동하십시오.

set the_folder to path to users folder 
tell application "Finder" 
    set foldernames to name of every folder of entire contents of the_folder 
end tell 
set theChosenOne to choose from list foldernames 

주의 할 : entire contents가 매우 느립니다주의하십시오. 2 분 후 애플 이벤트 시간 초과 오류가 발생합니다. with timeout 블록에 Finder tell 블록을 래핑 할 수 있습니다. 그러나 나는 엄청나게 빨라진 find 또는 mdfind을 권할 것입니다. 그리고 대부분의 경우 액세스 권한 위반 오류가 발생합니다.

+0

그건 그랬어, 고마워! 처음에 오류가 발생했지만 첫 번째 줄에 괄호가 추가되어 작동했습니다. 당신은 '전체 내용'에 대해 옳았습니다.이 경우에는 제거 할 필요가 없었으며, 그렇습니다. 훨씬 빠르게 실행되었습니다. 다시 한 번 감사드립니다! – xian