Sorry, I may not have been clear enough in my previous post, but I meant that the method I took to resolve my issue should be applicable in your case also. Because I changed the letter of the drive that housed my %Documents% folder (and other
Special Folders) I needed to update the path that Windows stored for this folder so it would know where to find it. You should be able to resolve your problem by doing the same thing.
For example, let's say you have two drives, a system drive (C:\) and a storage drive (S:\). Your Special Folders are located on the root of (S:\), but you want to change that drive's letter to (D:\). Upon doing so you find shortcuts to Explorer that include shell commands no longer function. The easiest way to solve this, assuming you still want to keep your Special Folders on the same drive, is to navigate to the Special Folders and update their location to reflect the drive letter change. In my case, the Special Folders were still located in the same place, but in your case they might not be. To locate them wherever they might be, open an Explorer window and expand the appropriate library in the tree of the left panel. For example, if you wanted to know the location of your %Documents% folder you would expand the Documents library, right-click on the Documents folder and select Properties. From there you would be able to change the path in the Location tab from whatever it might be to (D:\Documents). Windows would then ask you if you want to move the contents of the existing location to the new location. Because in this example we're not actually moving anything, but merely telling Windows a path has been changed, you would likely choose not to (you can always do so manually later on if necessary). Do the same thing for each of the other Special Folders; %Pictures%, %Music% etc. making sure each time that the path is appropriate to each folder (D:\Pictures, D:\Music).
This should not only enable you to open Explorer using shell commands again, but will also make it easier for you to work with these folders in other applications. As for why the problem exists, I honestly can't say. I encountered the problem for the first time yesterday while trying to confirm a suspected faulty hard drive, and Googled around for a bit before realising I needed to update my Special Folders. From then on my shell commands functioned perfectly, so there you go.