Well, if you can
mkdir the directory that you're trying to move to then I'm guessing you're most likely dealing with a locking issue for your source directory. Do you have window opened to that directory, or even a text editor with that directory as the last opened location?
Try closing all extra programs and rerun the script. From outside the source directory of course. :)
If all else fails, you could play around with
File::Find to create your own 1 to 1 recursive move function. It would also probably fail at some point, but you would find the exact file or directory that is being locked that way.
- Miller