2013-05-12 93 views
0

我有超过200张照片。我想给的AppleScript:AppleScript将每个文件移动到新文件夹中

  1. 每个基于文件
  2. 移动的文件的名称本200张的创建新的文件夹进去

这样即。 XXX.jpg进入XXX文件夹。

任务或多或少简单,但我在mac论坛上找到的所有aplescript代码都过时了。 我是在山狮的最新版本

回答

0

尝试:

set myFolder to (choose folder) 
tell application "Finder" to set myFiles to files of myFolder as alias list 

repeat with aFile in myFiles 
    set bName to my baseName(aFile) 
    tell application "Finder" 
     set folderExists to exists folder bName of myFolder 
     if not folderExists then make new folder at myFolder with properties {name:bName} 
     move aFile to folder bName of myFolder 
    end tell 
end repeat 

on baseName(myFile) 
    tell application "System Events" to set {fileName, fileExt} to {name, name extension} of myFile 
    return text 1 thru ((get offset of "." & fileExt in fileName) - 1) of fileName 
end baseName 

编辑

set myFolder to findFolder() 

tell application "Finder" to set myFiles to files of myFolder as alias list 

repeat with aFile in myFiles 
    set bName to my baseName(aFile) 
    tell application "Finder" 
     set folderExists to exists folder bName of myFolder 
     if not folderExists then make new folder at myFolder with properties {name:bName} 
     move aFile to folder bName of myFolder 
    end tell 
end repeat 

---------------- HANDLERS ---------------- 
on baseName(myFile) 
    tell application "System Events" to set {fileName, fileExt} to {name, name extension} of myFile 
    return text 1 thru ((get offset of "." & fileExt in fileName) - 1) of fileName 
end baseName 


on findFolder() 
    activate application "SystemUIServer" 
    -- Bug pointed out by Lauri Ranta http://www.openradar.me/9406282 
    tell application "Finder" 
     activate 
     set mySelection to (get selection) 
     if mySelection ≠ {} then 
      set mySelection to first item of (get selection) 
      if mySelection's class = folder then 
       set currentFolder to mySelection 
      else if mySelection's class = document file then 
       set currentFolder to parent of mySelection 
      else if mySelection's class = alias file then 
       set currentFolder to original item of mySelection 
      end if 
     else 
      set currentFolder to target of front Finder window 
     end if 
    end tell 
    return (currentFolder as alias) 
end findFolder 
+0

感谢名单。可能以“我的文件夹”是查找器显示的方式进行调整?又名我打开文件夹我nfinder,这是工作应该去的文件夹。会更通用,然后 – user2341292 2013-05-13 03:16:16

+0

请参阅我编辑的答案。 – adayzdone 2013-05-13 11:40:12

+0

thanx那样做! – user2341292 2013-05-13 15:13:03

相关问题