Force cmd.exe to see PATH again

Did your command line stop seeing files inside PATH? Do you think it's a virus or a bug and just wanna pull down your system? Don't hurry up if so. I had the same problem and finally I fixed it today. I'm not sure why did this happen, probably it's due to installation of some changing PATH variable applications which were installed recently, but I know how to fix it now.

The point is that path-variable is stored in the Windows registry. You can find it here

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path

Obviously installers and other programs are able (having rights) to change this value. Unfortunately some of them do it incorrectly. Normal type of this registry value is REG_EXPAND_SZ, I had just REG_SZ. The difference is that saying about REG_EXPAND_SZ Windows automatically replaces all variables inside percent signs (like %SystemRoot%) with proper address (like C:\Windows), and Windows doesn't change REG_SZ at all. It goes without saying that command line can't invoke ping, ipconfig, calc, etc. directly if type of the registry value is REG_SZ. Now check your variable's type.

If it's REG_SZ, the only thing you have to do for repairing a proper work of cmd.exe is changing PATH variable via Windows' Environment Variables dialog (Win+Break ⇒ Advanced ⇒ Environment Variables). System'll automatically restore it to the right type. If you don't want to change anything in your PATH, you can just save it twice, for instance adding and deleting some symbol. Take into account that if you just open changing dialog and press OK, nothing'll change, you HAVE TO CHANGE this string.

If your PATH variable has REG_EXPAND_SZ type and you still have this problem, keep googling.

Tagged as : Windows

Comments