我试图在Windows中添加C:\xampp\php到我的系统PATH环境变量。
我已经使用环境变量对话框添加了它。
但当我在控制台输入:
C:\>path
它不会显示新的C:\xampp\php目录:
PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin
我有两个问题:
为什么会发生这种情况?我做错什么了吗?
另外,如何使用控制台(并以编程方式,使用批处理文件)向PATH变量添加目录?
在Windows 10 LTSB上查看上述建议,并浏览一下“帮助”概要(可以在输入'command /?’),让我得出结论,PATH命令只改变当前会话的系统环境变量PATH值,但重新启动后,所有值重置为默认值-就像使用PATH命令之前一样。
另一方面,使用具有管理权限的SETX命令要强大得多。它会永久地改变这些值(或者至少在下次使用此命令或在下一次手动GUI操作这些值之前……).
最适合我的SETX语法用法:
SETX PATH "%PATH%;C:\path\to\where\the\command\resides"
这里应该避免使用等号“=”,不要担心空格!对于包含空格的路径,不需要再插入任何引号——分隔符号';'就可以了。
SETX后面的PATH关键字定义了在系统环境变量可能的值中应该改变哪一组值,而引号内的%PATH%(被百分号包围的单词PATH)告诉操作系统保持现有PATH值不变,并将下面的路径(跟随分隔符号';'的路径)添加到现有值中。
在命令提示符中,您告诉Cmd使用Windows资源管理器的命令行,在它前面加上start。
因此,启动Yourbatchname。
注意,您必须注册,如果它的名称是batchfile.exe。
可以将程序和文档添加到注册表中,因此在“开始-运行”对话框或快捷方式中输入它们的名称而不输入路径,Windows就可以找到它们。
这是一个通用的reg文件。复制下面的行到一个新的文本文档,并将其保存为anyname.reg。用你的程序或文档编辑它。
在路径中,使用\\分隔键路径中的文件夹名称,就像regedit使用单个\分隔键名称一样。所有reg文件都以REGEDIT4开头。分号将一行转换为注释。符号@表示将值赋给键,而不是指定值。
该文件不必存在。这可以用来设置Word.exe打开Winword.exe。
输入start batchfile将启动iexplorer .exe。
REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension>
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]
; The @ means the path to the file is assigned to the default value for the key.
; The whole path in enclosed in a quotation mark ".
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""
; Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry
; Informs the shell that the program accepts URLs.
;"useURL"="1"
; Sets the path that a program will use as its' default directory. This is commented out.
;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"
你已经在另一个答案中知道了路径。也参见doskey /?对于CMD宏(它们只在输入时工作)。
您可以在CMD下执行启动命令。来自Windows资源包技术参考
自动运行
HKCU\Software\Microsoft\Command Processor
Data type Range Default value
REG_SZ list of commands There is no default value for this entry.
描述
包含每次启动Cmd.exe时执行的命令。