I got the following error while starting JBoss from a command line prompt today:
\'findstr\' is not recognized as an internal or external command
As others pointed, issue is in wrong settings of PATH variable in Windows.
According to article this is most probably because some stupid installer wrongly modified PATH variable in Windows registry. Registry has 2 different string value types - REG_SZ
and REG_EXPAND_SZ
. Only the second one allows for expansion of %SystemRoot%
.
So check your path by typing set path
in command prompt. If you see unexpanded %SystemRoot%
and other variables in Path, you are affected (PATH should show only plain directory names, not variables).
You need to edit Path variable in registry: HKEY_CURRENT_USER\Environment
and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
. As it is not possible to change the type of key, save the path value somewhere, delete the key and re-create it with type REG_EXPAND_SZ
. You need to logout for changes to take effect.
You can also hard code the directory by replacing 'findstr' with 'C:\Windows\system32\findstr'. This is useful when using systems with restricted user permissions.
In my case (not JBoss related) the following helped to fixed this error.
Instead of:
SET path="%path%;C:\some\additional\path"
I used:
SET "path=%path%;C:\some\additional\path"
Please beware that current Windows systems use a Capital "S" for the System directory, so: C:\WINDOWS\System32 %SystemRoot%\System32
Omitting the capital S will result in a neglect of the line in the %PATH%
Please google it, you can find a lot of answers. But do as below to fix it. Add the following value to Right Click My Compuer -> Advanced -> Environment Variables -> System Variables -> Select Path variable -> append the below value.
C:\WINDOWS\system32
It should work with that change.
Please go throught the simplest steps:-
C:\Windows\system32\
and copy findstr.exe
file.C:\Program Files\Java\jdk1.6.0_24\bin