11
如何使用setx添加到Windows PATH变量?有奇怪的问题
我想使用修改Windows PATH变量setx。在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 ...并且被截断为1,024个字符。由于重复,它跑了过来。同样有趣的是:尽管setx存在错误并且没有说“成功” ,但PATH的值仍在变化。 我能够重复几次这种奇怪的行为(幸运的是,我已经保存了PATH的原始内容)。 目前,我知道追加到PATH的唯一肯定方法是: echo 路径。 将PATH的内容复制到文本文件中,然后手动添加;C:\Python27\;C:\Python27\Scripts\到PATH的末尾。 将整个内容复制出文本文件。 setx PATH "<paste the string here>" 该过程在Windows 7和Windows …