0

So, I've got this:

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

I'm getting an error specifically in the part where it is suposed to create a folder and move the file (mv command). The script is activated from a hazel rule and it's supposed to discover if a file is a movie or a TV show episode (cleaning the file name), and move it to the respective folder (if it doesn't exists, it creates the folder) Any ideas? Thanks!

Richard Slater
  • 6,313
  • 4
  • 53
  • 81
Daniel Ruhman
  • 123
  • 2
  • 13
  • possible duplicate of [Applescript error while trying to move files with hazel](http://stackoverflow.com/questions/16501501/applescript-error-while-trying-to-move-files-with-hazel) – Lri Jun 02 '13 at 01:01
  • A previous follow-up question: http://stackoverflow.com/questions/16680911/error-making-folders-in-applescript – Lri Jun 02 '13 at 01:02
  • Yes! Any ideas @lauri? You havent answered the other posts... – Daniel Ruhman Jun 02 '13 at 01:08
  • I already spent multiple hours answering them. Try using something like the shell script in the first question. – Lri Jun 02 '13 at 01:19
  • @lauri I tried using the last part on the second question... Please help! – Daniel Ruhman Jun 02 '13 at 01:22

1 Answers1

0

Try:

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
adayzdone
  • 11,120
  • 2
  • 20
  • 37