Ok, i've put all of those checks in. When it gets to the one that breaks the program, the "exists" check verifies that both the file and the directory exist. I've replaced all spaces with dashes as pileofrogs suggested, but that didn't help either. I'm really baffled here.
I would run the script under strace (in case you're on Linux, that is — you haven't mentioned what platform you're using, and your usage of spaces in the paths makes me think you might not be). This might help to figure out what exact system call is failing with "No such file or directory", which in turn might help to generate an idea what's going wrong...