当我尝试添加 VLC 时,为什么 SETX 没有更新我的 PATH?(Windows 7)

当我尝试添加 VLC 时,为什么 SETX 没有更新我的 PATH?(Windows 7)

我正在尝试将 VLC 添加到 Windows 7 安装中的 PATH 变量中,以便可以使用vlcvs从 cmd 调用它"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"

使用set,可以修改当前 cmd 实例的 PATH,但我希望这在重新启动后仍然有效,适用于系统上的所有用户(如果可能),并使用 Windows 7 原生的 CLI 工具。我尝试过setx(在非管理员和以管理员身份运行的 cmd 窗口中),如中所述问题,然后重新启动。但是,运行后path,vlc 路径没有显示(在变量字符串中),并vlc返回错误:'vlc' is not recognized as an internal or external command, operable program or batch file.

以下是重启后以管理员身份运行的 cmd.exe 实例的一些片段...我检查了路径:

C:\Windows\system32>路径
PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\pkg-vc10-x64\GeographicLib-1.23\bin;C:\Program Files (x86) \XPlan\system;C:\Program Files (x86) \Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86) \Microsoft SQL Server\100\DTS\Binn\;C:\python27;C:\python27\scripts;C:\Program Files (x86) \QuickTime\QTSystem\

我没有在那里看到 VLC 路径,所以我再试setx一次......

C:\Windows\system32>setx PATH=%PATH%;"C:\Program Files (x86)\VideoLAN\VLC"
错误:语法无效。默认选项不允许超过“2”次。输入“SETX /?”查看用法。

看着PATH,我看到...

  • PATH=C:\ProgramData\Oracle\Java\javapath
    • 目录:\Windows\system32
    • 计算机目录:\Windows
    • C:\Windows\System32\WindowsPowerShell\v1.0\
    • C:\Program Files\Intel\WiFi\bin\
    • C:\Program Files\Common Files\Intel\WirelessCommon\
    • C:\草莓\c\bin
    • C:\strawberry\perl\site\bin
    • 目录:\草莓\perl\bin
    • C:\pkg-vc10-x64\GeographicLib-1.23\bin
    • C:\Program 文件(x86)\XPlan\system
    • C:\Program 文件 (x86)\Microsoft SQL Server\100\Tools\Binn\
    • C:\Program 文件 (x86)\Microsoft SQL Server\100\DTS\Binn\
    • 目录:\python27
    • C:\python27\scripts
    • C:\Program 文件(x86)\QuickTime\QTSystem\

...并在普通用户 cmd 窗口中检查以下结果...

  • PATH=C:\ProgramData\Oracle\Java\javapath
    • 目录:\Windows\system32
    • 计算机目录:\Windows
    • 目录:\Windows\System32\Wbem
    • C:\Windows\System32\WindowsPowerShell\v1.0\
    • C:\Program Files\Intel\WiFi\bin\
    • C:\Program Files\Common Files\Intel\WirelessCommon\
    • C:\草莓\c\bin
    • C:\strawberry\perl\site\bin
    • 目录:\草莓\perl\bin
    • C:\pkg-vc10-x64\GeographicLib-1.23\bin
    • C:\Program 文件(x86)\XPlan\system
    • C:\Program 文件 (x86)\Microsoft SQL Server\100\Tools\Binn\
    • C:\Program 文件 (x86)\Microsoft SQL Server\100\DTS\Binn\
    • 目录:\python27
    • C:\python27\scripts
    • C:\Program 文件(x86)\QuickTime\QTSystem\
    • 目录:\Ruby22-x64\bin
    • 目录:\Windows\system32
    • 计算机目录:\Windows
    • 目录:\Windows\System32\Wbem
    • C:\Windows\System32\WindowsPowerShell\v1.0\
    • C:\Program Files\Intel\WiFi\bin\
    • C:\Program Files\Common Files\Intel\WirelessCommon\
    • C:\草莓\c\bin
    • C:\strawberry\perl\site\bin
    • 目录:\草莓\perl\bin
    • C:\pkg-vc10-x64\GeographicLib-1.23\bin

为什么我无法通过 将路径变量添加到 PATH setx?错误表明字符串已经存在,但不会向管理员或标准用户显示它...

编辑以添加:我在最初的研究中也提到了这个问题:https://stackoverflow.com/questions/9546324/adding-directory-to-path-environment-variable-in-windows

答案1

为什么 SETX 没有更新我的 PATH

C:\Windows\system32>setx PATH=%PATH%;"C:\Program Files (x86)\VideoLAN\VLC" 错误:语法无效。默认选项不允许超过“2”次。输入“SETX /?”查看用法。

你的setx语法是错误的:

  • 摆脱=

    set使用=setx不使用。

  • "将第二个参数(“值”)放在引号内。

    第二个参数如果包含空格则应该用引号引起来,并且%PATH%始终包含空格。

您应该使用:

setx PATH "%PATH%;C:\Program Files (x86)\VideoLAN\VLC"

句法

SETX [/s Computer [Credentials]] Variable Value [/m]

SETX [/s Computer [Credentials]] [Variable] /k RegistryPath [/m]

SETX [/s Computer [Credentials]] /f FileName {[Variable] {/a L,T | /r oL,oT "SearchString"} [/m] | /x} [/d Delimiters]

来源设置


进一步阅读

  • Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
  • 设置- 永久设置环境变量,SETX 可用于为机器(HKLM)或当前登录用户(HKCU)设置环境变量。

相关内容