Under the windows cmd shell, there’s a command start that “does the right thing”. Give it a file, it’ll launch the right app and open it. Give it a directory, you get an explorer window there.
This doesn’t exist under cygwin’s shells, which is a PITA.
Here’s a zsh function to do the same thing. Put it in your .zshrc and call open FILE or open DIR.