Prática recomendada para gerenciamento de variáveis de ambiente / PATH do Windows?

22

Agora, é uma bagunça. Toda vez que eu instalo um novo programa que faz algo trivial na linha de comando, eu tenho que adicioná-lo ao caminho. Na verdade, estou desenvolvendo em Ruby e até gemas (plugins / extensões) às vezes tenho seus próprios executáveis, e são armazenados em pastas diferentes e acabo tendo que adicionar vários caminhos por aplicativo, também. Chegou ao ponto em que estou empurrando trinta caminhos na minha variável de ambiente PATH.

Eu sou cauteloso ao copiar e colá-los em uma pasta pessoal e configurar o caminho para isso; isso parece errado. Existe uma prática recomendada estabelecida que estou perdendo?

    
por Justin L. 23.06.2010 / 05:03

3 respostas

13

Vários utilitários independentes pequenos residem na minha pasta %UserProfile%\Apps , como arquivadores e semelhantes. Depois, há vários arquivos em lote que eu escrevi e freqüentemente uso, que residem em %UserProfile%\Batches . Para o resto, basta adicioná-los ao PATH , que é feito por um instalador ou com

setx PATH "%PATH%;%CD%"

do diretório apropriado. O número de caminhos provavelmente só deve se tornar um problema se o conteúdo ficar muito longo (há limites de tamanho para variáveis de ambiente).

Você pode (e às vezes faço) escrever pequenos arquivos em lote para esses programas. Simplesmente copiar / vincular / vincular simbolicamente o executável em outro diretório provavelmente não funcionará no Windows, mas você pode criar facilmente um arquivo em lote, por exemplo, para o programa Foo:

@"%ProgramFiles%\Foosoft Foo\foo.exe" %*

e você pode adicionar a pasta onde você armazena os arquivos em lote no seu PATH .

    
por 23.06.2010 / 09:17
10

Não tenho certeza sobre práticas recomendadas específicas. Mas eu prefiro usar ferramentas do GUI PATH Editor para gerenciar variáveis PATH. De modo que possa ser claramente mantido.

Lista do editor PATH -

Editor de ambiente rápido

Redmond PATH Editor

    
por 23.06.2010 / 09:06
2

Agora que a maioria das máquinas Windows vêm com o PowerShell, eu uso muitos comandos sal / Set-Alias no meu perfil de usuário, portanto, se um aplicativo tiver apenas um ou dois aplicativos que eu uso, criarei aliases para esses dois comandos de adicionar toda a pasta do aplicativo ao caminho. Exemplos incluem o SQL Management Studio, o Notepad ++, o TFS Power Tools (ferramenta de linha de comando, tfpt.exe). Eu também copio meu perfil de usuário nas máquinas, então isso me permite verificar a existência desse aplicativo na máquina atual antes de criar o alias (às vezes, avisando se o aplicativo não está instalado).

filter ctQuoteString { "'"$_'"" }
filter ctResolvePath { Resolve-Path $_ | select -ExpandProperty Path | ctQuoteString } # used in Edit.ps1

$nppExe = "C:\Program Files (x86)\Notepad++\notepad++.exe"
if ((Test-Path variable:\nppExe) -and (Test-Path $nppExe)) {
    function EditNotepadPP { 
        param ([parameter(ValueFromPipelineByPropertyName=$true)][Alias("FullName","FileName")]$Path) 
        begin { if (! $nppExe) { throw 'variable $nppExe is not defined' } }
        process {
            $Path | ctResolvePath | % { # ctResolvePath will get full path and surround with quotes
                & $nppExe $_
            }
            #AddEditHistory $Path #if you need detailed time tracking, might help to create a log what files you're editting
       } 
    }
    Set-Alias npp EditNotepadPP
}

# I have similar functions for other apps.
Set-Alias vs EditVS
Set-Alias tfe EditTFCheckout
    
por 19.12.2012 / 00:50