今天从命令行提示符启动 JBoss 时出现以下错误:
'findstr' is not recognized as an internal or external command
今天从命令行提示符启动 JBoss 时出现以下错误:
'findstr' is not recognized as an internal or external command
请google一下,你可以找到很多答案。但请执行以下操作来修复它。将以下值添加到右键单击我的计算机 -> 高级 -> 环境变量 -> 系统变量 -> 选择路径变量 -> 附加以下值。
C:\WINDOWS\system32
它应该适用于这种变化。
正如其他人指出的那样,问题在于 Windows 中 PATH 变量的错误设置。根据文章,这很可能是因为一些愚蠢的安装程序错误地修改了 Windows 注册表中的 PATH 变量。注册表有 2 种不同的字符串值类型 -REG_SZ
和REG_EXPAND_SZ
. 只有第二个允许扩展%SystemRoot%
.
set path
因此,通过输入命令提示符检查您的路径。如果您%SystemRoot%
在 Path 中看到未扩展的变量和其他变量,则会受到影响(PATH 应该只显示普通目录名称,而不是变量)。
您需要在注册表中编辑 Path 变量:HKEY_CURRENT_USER\Environment
和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
. 由于无法更改键的类型,请将路径值保存在某处,删除键并使用 type 重新创建它REG_EXPAND_SZ
。您需要注销才能使更改生效。
对我来说,当我处理 findstr(从 windows/system32)到 wildfly/bin 时,它可以工作
Please go throught the simplest steps:-
C:\Windows\system32\
and copy findstr.exe
file.C:\Program Files\Java\jdk1.6.0_24\bin
检查您的 %SystemRoot% 是否正在评估(在命令提示符中键入 set path,您不应该看到 %SystemRoot%,而是看到实际路径)。如果您的路径变量(用户或系统)的第一个条目以 %(环境变量)开头,这可能会导致问题。
要解决此问题,只需将此第一个条目与路径中不以环境变量开头的任何其他内容交换即可。
您还可以通过将“findstr”替换为“C:\Windows\system32\findstr”来对目录进行硬编码。这在使用具有受限用户权限的系统时很有用。
请注意当前的 Windows 系统使用大写的“S”作为系统目录,因此:C:\WINDOWS\System32 %SystemRoot%\System32
省略大写 S 将导致忽略 %PATH% 中的行
就我而言(与 JBoss 无关),以下内容有助于修复此错误。
代替:
SET path="%path%;C:\some\additional\path"
我用了:
SET "path=%path%;C:\some\additional\path"
对于 IBM ACE 解决方案
'findstr' 未被识别为内部或外部命令,
转到路径 C:\Windows\System32
找到 findstr.exe,复制它,然后找到您的应用程序的 bin 文件所在的路径。例如 C:\Program Files\IBM\ACE\11.0.0.12\server\bin 然后将其粘贴到 bin 文件中
取消ace的控制台并重新打开它。
然后在 ace 控制台上运行 ACE toolkit 命令。
然后回车,现在可以打开了。
我尝试使用播放框架,但坚持运行 activator.bat 文件,但解决方案相同,只需从 windows/system32/findsr 复制文件并将其粘贴到卡住的文件夹下,然后再次运行相应的文件。感谢 andrewsiand Suryaprakash