Por que o SETX não atualizou meu PATH quando tentei adicionar o VLC? (Windows 7)

1

Estou tentando adicionar o VLC à variável PATH em uma configuração do Windows 7, para que ele possa ser chamado a partir do cmd usando vlc vs "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" .

Usando set , o PATH pode ser modificado para a instância atual do cmd, mas eu gostaria que isso persistisse durante as reinicializações, fosse aplicável a todos os usuários no sistema (se possível) e usasse ferramentas CLI nativas para o Windows 7. Eu tentei setx (em janelas não-admin e run-as-administrator cmd) como mencionado em esta pergunta, e reiniciado. No entanto, depois de executar path , o caminho vlc não é exibido (na variável string) e vlc retorna o erro: 'vlc' is not recognized as an internal or external command, operable program or batch file.

Aqui estão alguns trechos da instância cmd.exe do run-as-admin após a reinicialização ... Verifiquei o caminho:

C:\Windows\system32>path
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 Server0\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\python27;C:\python27\scripts;C:\Program Files (x86)\QuickTime\QTSystem\

Eu não vejo o caminho do VLC lá, então tento setx novamente ...

C:\Windows\system32>setx PATH=%PATH%;"C:\Program Files (x86)\VideoLAN\VLC"
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s). Type "SETX /?" for usage.

Olhando para o PATH, vejo ...

  • 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 Server0\Tools\Binn\
    • C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\
    • C:\python27
    • C:\python27\scripts
    • C:\Program Files (x86)\QuickTime\QTSystem\

... e verificando em uma janela cmd do usuário comum, os resultados abaixo ...

  • PATH=C:\ProgramData\Oracle\Java\javapath
    • C:\Windows\system32
    • C:\Windows
    • C:\Windows\System32\Wbem
    • 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 Server0\Tools\Binn\
    • C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\
    • C:\python27
    • C:\python27\scripts
    • C:\Program Files (x86)\QuickTime\QTSystem\
    • C:\Ruby22-x64\bin
    • C:\Windows\system32
    • C:\Windows
    • C:\Windows\System32\Wbem
    • 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

Por que não posso adicionar uma variável de caminho ao PATH por meio de setx ? O erro indica que a string já está lá e, no entanto, não é mostrada nem para o administrador nem para o usuário padrão ...

Editar para adicionar: também fiz referência a essa pergunta em minha pesquisa original: link

    
por user3.1415927 04.09.2015 / 22:09

1 resposta

1

Por que o SETX não atualizou meu PATH

C:\Windows\system32>setx PATH=%PATH%;"C:\Program Files (x86)\VideoLAN\VLC" ERROR: Invalid syntax. Default option is not allowed more than '2' time(s). Type "SETX /?" for usage.

Sua sintaxe setx está errada:

  • Livrar-se do =

    set usa = , setx não.

  • Coloque as aspas " em torno do segundo parâmetro (o 'valor').

    O segundo parâmetro deve ser citado se contiver espaços e %PATH% sempre contiver espaços.

Você deve estar usando:

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

Sintaxe

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]

Fonte setx

Leitura Adicional

  • Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
  • setx - Defina as variáveis de ambiente permanentemente, SETX pode ser usado para definir as variáveis de ambiente para a máquina (HKLM) ou usuário atualmente conectado (HKCU).
por 04.09.2015 / 22:24