Lately I've started to use powershell in place of cmd wherever I could. I still don't like it nearly as much as I do cygwin (probably mainly due to familiarity), but it's a lot better than cmd. I also use it in cases where cygwin doesn't play nice with windows command-line apps.
We just got new laptops at work and I'm in the process of installing all my tools on it. When I went to download the cmd here powertoy I started to wonder if there was a powershell version of the cmd here tool. Some searching lead me to a very helpful blog post showing the registry values to use for various versions of the cmd here powertoy.
The entry for powershell worked right off the bat. I copied the code into a text file, gave it a .reg extension, and double clicked it. I immediately got a "Powershell Here" entry, and it worked great.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\powershell] @="PowerShell Here" [HKEY_CLASSES_ROOT\Directory\shell\powershell\command] @="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'"
In that post there was an entry for opening a cygwin shell. It worked, but the shell it opened was running in the cmd window, which for some reason behaves completely unlike all other windows. I've been using mintty for a while now (and xterm before that) to have my cygwin shells running in a real window, and I didn't want to give that up. After playing around for a while I figured out the right arguments to bash to get it to open. Here's what I came up with:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\cygwinbash] @="Cygwin Shell Here" [HKEY_CLASSES_ROOT\Directory\shell\cygwinbash\command] @="c:\\cygwin\\bin\\bash.exe --login -c \"cd \\\"`cygpath -u '%L'`\\\";mintty&\""
As long as cygwin is installed at `C:\cygwin` and you have mintty installed it should work.
It's not perfect, as a cmd window will open briefly, but it's a lot better than just having "Open cmd here".
Shortcut for opening cygwin or powershell windows at selected directory.