1.介绍我们在学习java之初会去安装jdk,安装好的第一件事是配置环境变量那么我们所说的环境变量是什么环境变量environment variables环境变量可以理解为一种存储系统配置信息的“全局变量”。它们包含了操作系统和应用程序在运行时所需的各种信息比如文件路径、系统目录、临时文件夹位置等。简单来说环境变量就像是给系统或程序留下的一张“便签”上面写着“我的安装目录在这里”或“临时文件请放在这里”这样其他程序就能方便地找到所需资源而无需用户每次都手动指定。Windows 中的环境变量主要分为两类系统变量和用户变量。系统变量 (System Variables)作用范围全局生效。它对这台电脑上所有用户账户都有效。典型用途存放系统运行所必需的核心路径和配置。例如SystemRoot变量指向 Windows 的安装目录通常是C:\WindowsPath变量中包含系统关键组件的路径。修改权限修改系统变量通常需要管理员权限。用户变量 (User Variables)作用范围仅对当前用户生效。它只影响你当前登录的那个账户不会影响电脑上的其他用户。典型用途存放个人化的配置。例如TEMP变量定义了当前用户的临时文件存放位置或者开发者为自己安装的 Python、Java 等工具设置专属路径。修改权限修改用户变量通常不需要管理员权限。常用的是PATH环境变量其作用是告诉系统当要求系统运行一个程序而没有告诉系统若在当前目录下面没有寻找到此程序还应到哪些目录下去寻找。在设置-系统-系统信息-高级系统设置里可以找到环境变量。2.测试案例平时打开一个应用程序一般是双击桌面图标或在开始菜单命令项无论是桌面的快捷图标还是开始菜单命令项都包含了应用程序的安装位置信息如果知道了一个应用程序的安装目录位置也可以通过命令行工具进入启动程序所在的文件这里以 “Word”软件为例。我们winr打开终端输入Word.exe,参见下图我们看到我们是无法启动Word的为什么 首先我们需要知道在命令提示符界面输入Word的作用是告诉操作系统帮我们启动Word操作系统就会先对当前的C:Users\28470目录进行查找但是并没有在当前的目录找到之后去系统目录去找还是不存在最后操作系统就会进Path环境变量对其进行查找由于Path环境变量也不存在该目录所以会报出当前错误。所以首先应该找到word所在目录C:\Program Files\Microsoft Office\root\Office16目录里的WINWORD.EXE就是word的启动文件。配置到系统环境变量的path变量中winr,输入WINWORD.EXE最后会从该环境变量里找到其启动文件所在目录回车即可启动word3.查找顺序当你在WinR或命令行输入word时Windows 的查找逻辑如下当前目录Windows 首先会检查你当前所在的目录比如C:\Users\28470里有没有叫word.exe的文件。如果没有继续下一步。系统目录接着它会去 Windows 的系统目录如C:\Windows\System32里找。如果没有继续下一步。Path 环境变量合并后的这才是关键一步。Windows 会把 “用户变量”中的 Path 和 “系统变量”中的 Path 合并起来形成一个完整的搜索列表。顺序通常情况下用户变量的 Path 会排在系统变量的 Path 前面但这取决于具体的 Windows 版本和配置一般建议认为它们是合并在一起搜索的。它会依次检查 Path 列表中的每一个文件夹看里面有没有word.exe。找不到如果以上所有地方都找遍了还是没有就会报错“Windows 找不到文件 word”。以word案例为例查找逻辑Path 内容C:\Program Files\Microsoft Office\root\Office16\在用户目录和系统目录都找不到该文件时去path变量寻找。系统逻辑拿文件夹路径 你输入的文件名 C:\...\Office16\WINWORD.EXE结果拼出来是C:\...\Office16\WINWORD.EXE。找到了运行先到先得只要在某一个目录里找到了对应的文件名搜索就立刻结束。顺序很重要如果两个地方有同名文件排在Path列表最上面的那个会生效。需要注意的是环境变量Path只能帮系统找到真正的程序文件.exe, .bat, .cmd它看不懂快捷方式.lnk。4.存取变量除了path变量外还有其他变量名截图里的那些变量MYSQL_HOME,NVM_HOME等它们的作用是“存数据”比如NVM_HOMED:\software\java\nvm这只是为了方便。在配置Path时你可以写%NVM_HOME%\nvm.exe而不是写死那一长串路径。如果你改了NVM_HOME的值所有引用它的地方都会自动更新。5.命令行窗口设置环境变量下面的了解即可我也就不实验了还是建议在图形化界面操作。临时配置使用set命令这种方式只在当前 CMD 窗口有效窗口一关配置就没了。适合测试。1.查看特定变量比如 Pathcmdecho %path%结果设置/修改一个变量临时cmdset 变量名变量值加路径到 Path临时cmdset Path%Path%;C:\你的新路径(注意%path%代表保留原来的内容是分号用来分隔不同的路径)永久配置使用setx命令这种方式会真正修改系统设置即使重启电脑也有效。设置一个新的变量永久cmdsetx 变量名 变量值追加路径到 Path永久 - 用户变量cmdsetx Path %Path%;C:\你的新路径注意这会把当前系统 Path 的所有内容复制一份写入到“用户变量”的 Path 中。追加路径到 Path永久 - 系统变量需要管理员权限运行 CMD然后使用/M参数cmdsetx Path %Path%;C:\你的新路径 /M重要提示窗口生效问题使用setx修改成功后当前这个 CMD 窗口不会生效你必须新打开一个 CMD 窗口配置才会生效。Path 长度限制使用setx修改 Path 时要小心因为setx对字符长度有限制通常是 1024 个字符。如果你的 Path 本来就很长用setx可能会导致后面的路径被截断丢失。对于复杂的 Path 修改建议还是用图形界面操作更安全。不要覆盖千万不要直接写setx Path C:\新路径这样会清空原本所有的 Path 配置导致系统命令如ipconfig都无法使用一定要带上%Path%。