2012/10/25 LRN <lrn1986@gmail.com>
'\' is an escape-character in bash. Which means that the path you
write looks like this after bash evaluates it:
That is, all characters preceded by '\' are escape sequences. Since
these sequences don't (AFAIR) have any special significance (unlike,
say, \n, \r or \t), they are resolved to normal characters by simply
throwing away the '\' prefix.
If you want to use '\'-separated paths, double up every occurrence of
'\', like this:
when '\' is escaped, it's resolved literary to '\'.

That said, these escapes can creep up on you pretty quickly, and you
have to know how many times given command will be evaluated by
something that considers '\' to be escape character (which is pretty
much everything except for Windows shell) to know how many times you
need to escape backslashes.

It's simpler (MUCH simpler) to use '/'-seprated paths, such as this:
MSYS understands them just fine.

If the path is produced by external entity (a script), fix that script
to replace '\' with '/' in all paths. Even Windows shell has enough
string-processing capabilities to do that.

Right, and even Windows understands forward slashes, for example:
cmd.exe> cd ../..

However, when you pass a non-existent directory to cd, error message is like this not what he said:
bash.exe: cd: <non-existent>: No such file or directory

So Philipp, try renaming the directory and run cd to old name in separate line, then is it the same error as you have said or like the one above? Also, what do you mean with I can run the command also with unix style path names? You can successfully, or you can try but doesn't work either?