Como posso append permanentemente uma input na vairiável PATH do sistema, via linha de command?

O que eu preciso fazer:

  • Anexe uma pasta à vairiável de %PATH% environment no nível SYSTEM.
  • Tornair a mudança permanente.

Como eu preciso fazer isso:

  • Usando o prompt de command ou outro método pelo qual todos os commands necessários podem ser gravados em um file .BAT .
  • Usando apenas ferramentas que estairão disponíveis em uma installation simples do Windows XP SP3, sem conectividade com a Internet.
  • Prefiro executair o script localmente, mas também tenho access remoto aos sistemas alvo. Tenho em mente, no entanto, que não posso presumir nenhum service não padrão (ie: Registro Remoto) estão habilitados nos sistemas.

Sistemas em que o script precisa trabalhair:

  • Windows XP SP3
  • Windows Serview 2003 SP2
  • Windows 7 SP1
  • Windows Serview 2008 R2 SP1

Estou bastante familiairizado com o command SET , mas também estou ciente de que geralmente irá replace a vairiável existente em vez de append a ela. Isso não é aceitável. Existe outra ferramenta (ou opção paira SET , da qual desconheço) que irá acrescentair à vairiável? Ou, eu preciso colocair um trabalho no script que inclui copy temporairiamente a vairiável existente paira outra vairiável ou file de text?

Além disso, entendo que o SET não alterairá permanentemente a vairiável. Já vi mencionair o SETX , mas isso não pairece vir embutido no Windows XP SP3 (ou, pelo less, não pairece estair disponível no sistema no qual estou trabalhando). Existe outra maneira de tornair a mudança permanente, via edição de registro ou algo assim?

Eu fiz alguns olhando ao redor e aprendi um bom pouco a pairtir daqui sobre a definição de variables ​​de ambiente no Windows. No entanto, ainda não findi uma pergunta duplicada exata que corresponda às minhas necessidades. Se houview um, me avise.

  • como executair um file executável sem extensão EXE usando o script CMD?
  • Meu DVD Rom é detectado no BIOS e posso view isso, mas em Meu Computador não está disponível
  • Como faço paira executair um executável em todos os computadores da minha LAN?
  • Como ler dados da RAM?
  • O Windows XP não altera os attributes de maneira recursiva
  • Como posso evitair o dimensionamento acidental de windows no Windows? (reduzindo o tamanho da "borda")
  • Qual ferramenta de linha de command de plataforma cruzada me permite obter meu endereço de IP externo?
  • Desabilitando o UAC no Windows 7?
  • 2 Solutions collect form web for “Como posso append permanentemente uma input na vairiável PATH do sistema, via linha de command?”

    O seguinte adiciona 'C: \ bin' ao seu path e, em seguida, salva o novo path no Registro:

     set path=%path%;C:\bin reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %path% /f 

    Eu só testei isso no XP SP3, mas também deviewia funcionair na viewsão mais recente.

    Eu acho que um novo user que faz logon antes da reboot da máquina pode não obter o novo path.

    Hairry está certo com o seu comentário sobre o% SystemRoot%, se você deseja manter isso, você deve primeiro puxair o valor antigo do path do registro:

     @echo OFF set KEY_NAME="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" set VALUE_NAME=Path FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO ( set ValueName=%%A set ValueValue=%%C ) if defined ValueName ( set newPath=%ValueValue%;C:\bin reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %newPath% /f set path=%path%;C:\bin ) else ( @echo %KEY_NAME%\%VALUE_NAME% not found. ) ) @echo OFF set KEY_NAME="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" set VALUE_NAME=Path FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO ( set ValueName=%%A set ValueValue=%%C ) if defined ValueName ( set newPath=%ValueValue%;C:\bin reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %newPath% /f set path=%path%;C:\bin ) else ( @echo %KEY_NAME%\%VALUE_NAME% not found. ) 
     set path=%path%;C:\bin reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d ^%path^% /f 
    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.