약 4000 개의 이미지 파일이있는 폴더가 있습니다. 이름이 엑셀 스프레드 시트에 나타나는지 여부에 따라 파일 중 일부를 선택하고 새 폴더에 복사해야합니다. 가능한 경우 원본 태그의 어떤 파일을 이동했는지, 어떤 파일을 이동하지 않았는지 알기 위해 해당 태그에 색상 태그를 붙이고 싶습니다. here에서 아래 코드를 얻었습니다.애플 스크립트를 사용하여 Excel 스프레드 시트에 나타나는 파일 이름 이동
tell application "Microsoft Excel"
tell worksheet 1 of active workbook
set fileList to value of used range
end tell
end tell
set rootFolder to "path/to/sourcefolder" as POSIX file
set filesToMove to {}
repeat with thisItem in fileList
try
set end of filesToMove to alias (rootFolder & thisItem)
on error
display dialog "File " & thisItem & " is not in the folder"
end try
end repeat
tell application "Finder"
move filesToMove to folder "path/to/destination" as POSIX file
end tell
실행할 때 파일을 찾을 수 없습니다. 문제는 :
대신 내 파일 경로에서 /
을 사용하는 것과 관련이 있다고 생각되지만, AppleScript 구문으로 외장 드라이브에 대한 경로를 설정하는 방법을 모르겠습니다. 동일한 변수 선언을 사용하여 set rootFolder to "path/to/sourcefolder" as POSIX file
을 입력 한 다음 파인더를 open rootFolder
으로 알리는 것이 좋습니다.
또한 모든 파일에 동일한 명명 규칙이있는 것은 아니며 따라서 이름에 스프레드 시트의 식별자가 포함되어 있지만 정확히 일치하지 않는 파일을 검색해야합니다. I.E. 스프레드 시트 항목은 "00103"이지만 파일 이름은 "PX00103KL.jpg"입니다.
그동안 필자는 수동으로 검색 문자열을 입력 한 후에 만 원하는 방식으로 파일을 이동하고 태그하는 자동화 워크 플로를 만들었습니다. 이 두 가지 아이디어를 결합하여 Excel 스프레드 시트 항목을 반복하고 자동화 워크 플로의 입력으로 차례대로 사용하는 것이 이상적입니다.
도움 주셔서 감사합니다.
하나의 문제는 "POSIX 파일로"첫 번째 라인은 파일 스펙을 반환, 당신 루프에서 괄호 안에 사용하기 전에이를 문자열로 강제 변환해야합니다. 즉,'(rootFolder & thisItem)'은 {file "HD : path : you : want", "itemNumberWhatever"}와 같은 목록을 반환합니다. '((rootFolder as text) & thisItem)' – CRGreen