2009-11-11 9 views
1

Этот вопрос не ограничивается людьми, которые знают AppleScript, если вы делаете какао и т.д., вы должны знать ответ на этот вопрос:Ограничить типы файлов по капельке

Делаю капельку в AppleScript который сжимает файлы JavaScript, поэтому, очевидно, я хочу, чтобы в сценарии были разрешены файлы JavaScript. Есть идеи?

Большое спасибо.

ответ

2
property kJavascriptExtension : "js" 
property pValidFileList : {} 

on open of theFiles -- Executed when files are dropped on the script 

    set fileCount to (get count of items in theFiles) 

    repeat with thisFile from 1 to fileCount 
     set theFile to item thisFile of theFiles 
     set theFileAlias to theFile as alias 

     tell application "Finder" 
      set fileInfo to info for theFileAlias 
      set fileName to name of fileInfo 
     end tell 

     set javascriptFileFound to isJavascriptFile(fileName) of me 

     if (javascriptFileFound) then 
      set end of pValidFileList to theFile 
     end if 
    end repeat 

    display dialog "pValidFileList = " & pValidFileList 
    -- do something with your files here 
end open 

on isJavascriptFile(theFilename) -- (theFilename as string) as boolean 
    set AppleScript's text item delimiters to "." 
    set fileNameList to every text item of theFilename 
    set AppleScript's text item delimiters to "" 

    try 
     set theFileExtension to item 2 of fileNameList as string 
    on error 
     return false 
    end try 

    if theFileExtension is kJavascriptExtension then 
     return true 
    end if 

    return false 
end isJavascriptFile 
+0

Это замечательно! Я ожидал своего рода свойства Info.plist, но это кажется намного проще. –