我想用setx修改Windows PATHvariables。 以下工作至less在Windows 8上的时间的50%: setx PATH %PATH%;C:\Python27\;C:\Python27\Scripts\ 如果给出错误“默认参数只能使用2次”,那么下面的一些时间工作: setx PATH "%PATH%;C:\Python27\;C:\Python27\Scripts\" 不同之处在于我们用引号将第二个参数封装起来。 我相信当%PATH%扩展到包含空格时,引号是必需的。 不过,我在Windows 7上遇到了一些奇怪的问题。在一台特定的Windows 7机器上,我遇到了这个问题: echo %PATH% 它打印: C:\Foo\;C:\Bar\;[…lots of stuff…]C:\Baz\ 然后我这样做: setx PATH "%PATH%;C:\Quux\" 然后它说“错误:截断1,024个字符”。 现在我们来看看PATH包含的内容: echo %PATH% 它打印: C:\Foo\;C:\Foo\;C:\Bar\;C:\Bar\;[…lots of stuff, now duplicated…]C:\B …以1024个字符截断。 它由于重复而运行。 同样有趣的是:尽pipesetx提出了一个错误,并没有说“成功”,PATH的价值也发生了变化。 我可以多次重复这种奇怪的行为(幸运的是我保存了PATH的原始内容)。 目前,我知道追加PATH的唯一可靠的方式如下: echo PATH。 将PATH的内容复制到文本文件中,并手动将PATH的末尾添加;C:\Python27\;C:\Python27\Scripts\ 。 将整个文件复制到文本文件中。 setx PATH "<paste the string here>" 该过程每次都在Windows 7和Windows 8上运行。 […]