Windows SET和SETX均未设置%PATH%的值

Windows SET和SETX均未设置%PATH%的值,windows,path,batch-file,cmd,Windows,Path,Batch File,Cmd,我正在执行以下命令 SETX PATH "very_very_long_list"; 关闭和打开comand line后,echo%path%输出旧值。我做错了什么 提前谢谢你 无需使用SETX路径。如果需要添加到当前路径中,请使用 PATH=%PATH%;C:\another path\;C:\yet\another path\ 否则,如果需要完全擦除路径,然后添加自己的参数,请使用 PATH=C:\path\;C:\another path\;C:\yet\another path\

我正在执行以下命令

SETX PATH "very_very_long_list";
关闭和打开comand line后,
echo%path%
输出旧值。我做错了什么


提前谢谢你

无需使用
SETX路径
。如果需要添加到当前路径中,请使用

PATH=%PATH%;C:\another path\;C:\yet\another path\
否则,如果需要完全擦除路径,然后添加自己的参数,请使用

PATH=C:\path\;C:\another path\;C:\yet\another path\

不需要用双引号括住路径,因为
PATH
命令会在路径名中看到空格。

如何打开新的命令行?除非启动新命令行的进程正在侦听环境更改事件,否则它不会刷新其环境(因此也不会刷新新子进程的环境)。探险家确实在听。注:它在这里工作。环境变量是每个进程的。
setx
设置的注册表变量在您再次登录之前可能不会生效。使用setx设置的变量仅在将来的命令窗口中可用,而在当前命令窗口中不可用。它们不是@asveikau所说的每个进程,也不需要注销和再次登录,只需启动一个新的命令窗口——尽管听起来像是在这样做,所以不清楚你做错了什么。也许是不必要的引号和后面的分号。@martineau-环境变量当然是每个进程的。我想说的是,
setx
不会修改正在运行的进程的环境-您必须启动一个新的进程才能使其生效在最后是不必要的。好吧,这个答案不会永久设置它,这是OP想要的。您需要使用SETX(永久)和SET(立即查看更改)。看见