Despite using a Linux/Unix desktop most of the time, I still have a Windows laptop on which I can test some of my cross-platform tools (Net-UDAP, flac2mp3, etc.). I generally use cygwin as I'm more familiar with the unix-flavour command-line. However, the default cygwin shell is pretty poor as it runs inside the windows cmd shell.
I have tried a couple of ways to overcome this but I think I've just stumbled across the perfect solution: console. Basically, you set cygwin.bat as the default shell for console and... voila! Details here.