AppleScript가 작성되어 작동하지만 폴더 구조를 만드는 방식을 변경해야합니다. 스크립트는 다음을 수행합니다.
- 파일이 들어있는 폴더가 선택됩니다 (필자의 경우 사진이됩니다).
- 그런 다음 생성 된 날짜를 볼 수 있습니다.
- YYYY를 작성하십시오 (아직 작성되지 않은 경우 폴더 폴더).
- MM을 만듭니다 (아직 만들지 않은 경우 월 폴더).
- DD를 작성하십시오 (아직 작성되지 않은 경우 하루 폴더).
- 그런 다음 사진을이 폴더로 이동하고 다음 사진에 대해 반복하고 완료 될 때까지 반복합니다.
현재 폴더 구조는 다음과 같이 생성됩니다.
2018 "YYYY"
├── 2018-01 "MM"
├── 2018-02
이것은 훌륭하고 설계된대로 작동하지만 폴더의 모양을 바꾸는 데 마음이 바뀌 었습니다. 다음과 같은 구조를 원합니다 (다른 이름 지정 구조와 거의 동일합니다).
2018
├── 001 January
│ ├── 20180101
│ └── 20180102
├── 002 February
│ ├── 20180201
│ └── 20180202
└── 003 March
├── 20180301
└── 20180302
이제 스크립트가 이것을 생성하는 위치를 알아 내려고 노력했지만 실패했습니다. 이제 도움을 받기 위해이 위대한 곳으로 향하고 있습니다.
on run
SortFiles(POSIX path of (choose folder))
end run
on open (DroppedFolder)
set DroppedFolder to POSIX path of DroppedFolder
if text (length of text of DroppedFolder) of DroppedFolder is not "/" then quit
SortFiles(DroppedFolder)
end open
on SortFiles(SortFolder)
set AppleScript's text item delimiters to return
set SortFolderContents to the text items of (do shell script "find '" & SortFolder & "' -type f")
set FolderMakeList to {}
repeat with ThisItem in SortFolderContents
set ThisFile to ThisItem as string
if ThisFile does not contain "/." then
tell application "Finder"
set DateString to text 1 thru 7 of ((creation date of ((POSIX file ThisFile) as alias)) as «class isot» as string)
set ThisFilesFolder to SortFolder & text 1 thru 4 of DateString & "/"
set ThisFilesSubfolder to ThisFilesFolder & text 1 thru 7 of DateString & "/"
end tell
if ThisFilesFolder is not in FolderMakeList then
try
do shell script ("mkdir '" & ThisFilesFolder & "'")
end try
set FolderMakeList to FolderMakeList & ThisFilesFolder
end if
if ThisFilesSubfolder is not in FolderMakeList then
try
do shell script ("mkdir '" & ThisFilesSubfolder & "'")
end try
set FolderMakeList to FolderMakeList & ThisFilesSubfolder
end if
try
do shell script ("mv '" & ThisFile & "' '" & ThisFilesSubfolder & "'")
end try
end if
end repeat
return FolderMakeList
end SortFiles