因此,我正在尝试学习 Java。我安装了 JDK 并开始编写一些程序。每次,我都必须提供 javac.exe 的路径来编译 .java 文件。
所以,我决定调整 %PATH% 变量。
无论我将其改为何,它都不起作用。
当我执行 echo %PATH% 时,我得到'Program' is not recognized as an internal or external command, operable program or batch file.
这是我的 Path 变量内容:C:\app\product\11.1.0\client_1\bin;%CommonProgramFiles%\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;"C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\";"C:\Program Files\Broadcom\Broadcom 802.11";"C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\";"C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\";"C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\";"C:\Program Files (x86)\Roxio\OEM\AudioCore\";"C:\Program Files (x86)\Intel\Services\IPT\"
我该如何解决这个问题?之前没有双引号,我添加了它,认为空格是问题所在。
答案1
从 PATH 中取出一些内容并将其放入另一个环境变量中。
然后只需使用 c:\;c:\windows;c:\windows\system32;c:\jdk 创建一个简单的 PATH
(如果 javac.exe 存在则为 c:\jdk)
您可以尝试将部分内容添加到 PATH 中作为故障排除步骤,直到找到错误为止。例如,将所有内容放入新环境变量后,将其中的一半粘贴到 PATH 末尾,看看它是否正常工作。如果可以,请添加更多内容;如果不可以,请删除您添加的内容,然后添加较少内容。
从根本上讲,您的故障排除逻辑是正确的,但您错了。您说“无论我将其更改为什么,它都不起作用”。但您没有尝试简单、简短、简约的 PATH。
确实,删除引号。空格没问题,因为 ; 是分隔符。您还说您收到错误“程序未被识别”
C:\Program Files\Vim>%PATH%
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
我也能收到这条消息,但正如你所知,你需要输入 echo %PATH% 而不仅仅是 %PATH% !这可能是导致该错误消息的原因
顺便说一句,如果我转到您的帖子并将内容直接复制到剪贴板。然后我打开命令提示符,键入 set a=,然后将其粘贴并按 ENTER。然后我执行 echo %a% ,它显示正常。(您仍然应该永久删除引号,如果您遇到更多问题,则暂时将其缩短 - 作为故障排除步骤)
答案2
所有路径都用分号分隔,因此您不应使用引号。另外,请确保 PATH 中的所有路径都确实存在,这可能不是您的问题,但有时这会导致问题。
答案3
PATH 中的引号毫无意义。我的 PATH 没有引号(有空格的目录在那里)。
摆脱它们,看看是否有效。
另外,最好删除除 %SystemRoot% 之外的所有带有 % 符号的符号。还有“\;” -> “;”