I just ran into this issue. I have bat files in specific locations because of what different scripts are far and how they get handled by version control.
Having to move all my bat files to "C:\Program Files (x86)" is just a terrible hack.
Is there no one from Microsoft here who can offer a real solution (that is, get back the original behavior)?
What's odd is that I can run bat files fine from the command line. The folders for my scripts are on my PATH and I can run these scripts from any directory. Something in Windows knows
how to execute a file with the .bat extension. It seems something got borked with the file manager.
Update:
I fixed this on my machine.
Somehow (perhaps a faulty installer script, perhaps I screwed something up) the value of the COMSPEC environment variable was altered. (In my case it looks like someone or something treated it like the PATH variable and appended another file path. Much
as it pains me I am inclined to assume PEBKAC. OTOH the other day I had to do a hard reset because the machine was wedged so perhaps something got corrupted.)
Ordinarily the COMSPEC variable should look like this:
%SystemRoot%\system32\cmd.exe
If this is not the path to your shell program then sadness follows.
I fixed the value and all was well again.
I discovered this because I noticed that some other command line things no longer worked, and in looking for an answer I came across this post:
http://www.codeotel.com/CHVjXUeegq/when-using-pipe-getting-the-filename-directory-name-or-volume-label-syntax-is-incorrect.html