<< ls doesn't work, rm doesn't work, mkdir doesn't work, filename completion doesn't work.... >>
Most of those could be created using a simple batch file. What form of filename completion are you referring to? I use the wildcard form all the time...
cd prog*\some*\fold*\etc
There are several unix utilities I actually ported myself (some in C, some in C#) because I use them all the time (grep, wc, tr, sort, uniq, etc.).