【问题标题】:Certain string in Windows PATH causing errorWindows PATH 中的某些字符串导致错误
【发布时间】:2016-03-11 12:40:51
【问题描述】:

我将此字符串 C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\ 添加到我的 Windows 10 环境变量 PATH 中。这导致 PATH 出现问题。我相信根本原因是字符串中的字符&。如何将字符串成功添加到 Windows PATH?

【问题讨论】:

  • 我刚刚尝试了一个包含 & 符号的目录,它对我来说效果很好(没有引号)。我怀疑问题不在于 PATH 中的与号,而在于您添加它的方式。
  • 谢谢。奇怪的是,添加引号有助于解决我的问题。
  • 如果没有更多信息(关于如何将字符串添加到 PATH 以及使用它的目的),我真的无法进一步猜测。而且我在 Windows 7 上,所以我猜 Windows 10 的行为可能会有所不同。但只要你让它正常工作,这就是现在真正重要的一切。

标签: windows path environment-variables system-variable


【解决方案1】:

尝试用胡萝卜 (^) 转义与号 (&)。

C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 ^& MySQL Utilities 1.5

【讨论】:

  • 谢谢。赞成。将整个 PATH 变量用引号括起来是个好主意吗?
  • 不,不要包装它。它可能认为它是一个字符串。
  • 没有。 (通常)不需要也不推荐引用。
  • 是的,你可以包装每一个。没有空格的就不需要了。
  • 带空格的目录也不需要引号。我不确定是否包含引号会破坏内容(尽管我有一个模糊的回忆)但这不是标准做法。
【解决方案2】:

在安装 MySQL 5.7.11 后,我在 Windows 7 上遇到了与您相同的问题。

问题在于 MySQL 安装程序将两个包含 & 的路径添加到 PATH 系统变量中没有用引号括起来。

这可能会给其他 BATCH 文件带来各种麻烦。比如一个简单的:

echo %PATH% 

从命令行实际上会执行 mysql 客户端,因为 MySQL 出现在 & 之后,Windows 将其视为组合单独命令的方式。这导致其他脚本(如 Python 虚拟环境激活)在我的机器上出现异常。

在 PATH 环境系统变量中围绕两个 MySQL 路径永久修复了该问题。所以它看起来像 MySQL 安装程序中的一个错误。

【讨论】:

  • 不是真正的错误。也许是不明智的,但不是错误。 (“bug”在批处理文件中,没有考虑到PATH中特殊字符的可能性。)
  • 不,这是一个错误。他们应该引用路线或避开&符号。这真的很烦人,它是 PATH 异常的根源。如果在损坏的 mysqls 之后在 PATH 上还有其他路由,则当您尝试运行这些路由时,将不会检测到这些路由上的程序。
  • @EstebanFilardi:我刚刚尝试过(在第一个目录中包含一个不带引号的 & 符号的 PATH 字符串),它对我来说非常好用。但无论如何他们都应该修复它,最好是通过重命名目录;从技术上讲,它是一个合法的字符这一事实并不意味着它是一个好主意。
  • 是的,你是对的。我写了异常,因为当你让 PATH 变量像这样“损坏”时会发生奇怪的事情。普通命令行不会发生这种情况,但使用 VS 命令提示符开发人员工具会发生这种情况(我已经测试过)。
猜你喜欢
  • 2012-10-18
  • 1970-01-01
  • 2023-03-10
  • 2020-04-24
  • 2011-07-23
  • 2019-05-13
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
相关资源
最近更新 更多