XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决

通常我们都需要将某些工具添加到环境变量Path,以便在任意工作目录下都能调用。如果设置环境变量的时候出现了问题,就会显示“XXX不是内部或外部命令,也不是可运行的程序或批处理文件”。

绝大多数情况是环境变量配置出错,或者是没有重启,环境变量没有刷新导致的。但今天我遇到一个奇怪的问题。

在配置Maven的时候,我通过文件夹属性复制了程序的主目录并在环境变量中配置:

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决_第1张图片

表面看并没有什么问题,通过编辑文本查看也没有什么问题:

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决_第2张图片

但如果运行:

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决_第3张图片

非常让人抓狂。

如果在命令行下打印环境变量:

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决_第4张图片

就能发现目标目录前有一个空格,这个空格在UI下是不显示的。

如果通过set Path=xxx重新设置环境变量,并删除这个空格,就会正常:

XXX不是内部或外部命令,也不是可运行的程序或批处理文件的解决_第5张图片

解决方式也很简单,从字符终端复制不带空格的目标目录,然后删除环境变量中错误的目录,重新新建。然后重启电脑刷新环境变量后就正常了。

总结:遇到类似的通过UI发现不了的环境变量配置问题,可以用命令行查看原始数据来排查问题

你可能感兴趣的:(其它,环境)