移动电影和系列与榛子,Applescript错误

移动电影和系列与榛子,Applescript错误,applescript,directory,Applescript,Directory,所以,我有这个: on hazelProcessFile(theFile) set text item delimiters to ":" set filename to last text item of (theFile as text) set text item delimiters to "." if filename contains "." then set base to text items 1 thru -2 of filena

所以,我有这个:

on hazelProcessFile(theFile)
    set text item delimiters to ":"
    set filename to last text item of (theFile as text)
    set text item delimiters to "."
    if filename contains "." then
        set base to text items 1 thru -2 of filename as text
        set extension to "." & text item -1 of filename
    else
        set base to filename
        set extension to ""
    end if
    set text item delimiters to {"WEB.DL.DD5.1.H.264.HWD", "WEB-DL.AAC2.0.H.264-NTb", "WEB-DL.DD5.1.H.264-CtrlHD", "WEB.DL.DD5.1.H.264", "PMP", "720p", "HDTV", "x264", "IMMERSE", "-", "E01", "…", "E02", "EVOLVE", "DIMENSION", "E03", "E04", "E05", "E06", "E07", "E08", "E09", "E10", "E11", "E12", "E13", "E14", "E15", "E16", "E17", "E18", "E19", "E20", "E21", "E22", "E23", "E24", "E25", "E26", "E27", "E28", "E29", "E30", "2012", "2013", "2014", "2015", "2016", "FoV", "FOV", "fov", "1080p", "X264", "AFG", "afg", "xvid", "XviD", "XVID", "INTERNAL", "PROPER", "FQM", "fqm", "LOL", "lol", "REWARD", "reward", "WEB", "DL", "AAC2", "H.264", "NTb", "CtrlHD", "DD5", "eztv", "EZTV", "WEB", "VTV", "mSD", "CTU", "hdtv", "evolve", "immerse", "+", "PublicHD", "HWD"}
    set ti to text items of base
    set text item delimiters to ""
    set newbase to ti as text
    set newbase to Replace(newbase, "S0", "Season ")
    set newbase to Replace(newbase, "S1", "Season 1")
    set newbase to Replace(newbase, "S2", "Season 2")
    set newbase to Replace(newbase, ".", " ")
    set newbase to Replace(newbase, "    ", "")
    set newbase to Replace(newbase, "   ", "")
    set newbase to Replace(newbase, "  ", "")
    set folderLocation to "/Volumes/LaCie/Midia/Series"
    set folderName to newbase as text
    tell application "Finder"
        if newbase contains "Season" then
            if not (exists folder (POSIX file "/Volumes/LaCie/Midia/Series/" & newbase as text)) then

                -- make new folder at POSIX file "/Volumes/LaCie/Midia/Series/" with properties {name:newbase as text}
                -- move theFile to POSIX file "/Volumes/LaCie/Midia/Series/" & newbase as text
                do shell script "d=/Volumes/LaCie/Midia/Series/" & quoted form of newbase & "
                mkdir -p \"$d\"
                mv " & quoted form of POSIX path of theFile & " $d"



            else
                -- move theFile to POSIX file "/Volumes/LaCie/Midia/Series/" & newbase as text
                do shell script "d=/Volumes/LaCie/Midia/Series/" & quoted form of newbase & "
                mv " & quoted form of POSIX path of theFile & " $d"

                set name of result to newbase
            end if
        else
            -- move theFile to POSIX file "/Volumes/LaCie/Midia/Filmes/"
            do shell script "mv " & quoted form of POSIX path of theFile & " /Volumes/LaCie/Midia/Filmes/"
        end if
    end tell
end hazelProcessFile

on Replace(input, x, y)
    set text item delimiters to x
    set ti to text items of input
    set text item delimiters to y
    ti as text
end Replace
我在创建文件夹和移动文件(mv命令)时遇到了一个错误。 该脚本根据hazel规则激活,它应该发现一个文件是电影还是电视节目插曲(清除文件名),并将其移动到相应的文件夹(如果不存在,则创建文件夹) 有什么想法吗? 谢谢

试试看:

set d to quoted form of ("/Volumes/LaCie/Midia/Series/" & newbase)
do shell script "mkdir -p " & d & " ; mv " & quoted form of (POSIX path of theFile) & space & d

可能重复先前的后续问题:是!劳里,有什么想法吗?你还没有回复其他帖子……我已经花了好几个小时回复了。试着在第一个问题中使用类似于shell脚本的东西。@lauri我试着在第二个问题中使用最后一部分。。。请帮忙!