Estendendo o caminho de procura da linha de comandos sem editar a variável PATH

0

Desejo estender meu caminho de pesquisa do sistema sem anexar novos diretórios a %PATH% , estou ciente de que a entrada de registro App Paths coloca essa entrada apenas sendo acessada ao usar ShellExecuteEx , que a linha de comando não usa . Existe algum mecanismo no windows para isso?

    
por Matan Shahar 24.04.2015 / 14:10

2 respostas

0

Caminhos de aplicativo não podem ser usados para o caminho de pesquisa, até onde eu sei, mas você pode ter PATH definido para o sistema e variáveis de ambiente do usuário. A busca por executáveis incluirá todos os itens em ambos.

Se o comprimento do System PATH é um problema, você pode abreviar definindo outra variável de ambiente e fazendo referência a ela, por exemplo

Criar Variável de Ambiente PF32 com o valor Arquivo de Programa (x86)

Em PATH , C: \ Arquivos de Programas (x86) \ Intel é encurtado para % PF32% \ Intel .

    
por 24.04.2015 / 17:47
0

Em vez de adicionar ao caminho, muitas vezes escrevo um arquivo em lote curto que define variáveis de ambiente para aplicativos especiais que estariam desnecessariamente o caminho (ou adicionam variáveis de ambiente conflitantes).

Aqui está um exemplo ( run-winvile.bat ) que dá acesso à linha de comando a um programa GUI que não está em PATH . Ele usa setlocal para limitar o escopo do ambiente alterado:

@echo off
setlocal
set WINVILE_DIR="C:\Program Files (x86)\VI Like Emacs\bin"
cd %WINVILE_DIR%
IF ERRORLEVEL 1 goto :finish  
set WINVILE_EXE=WinVile-wide-ole.exe
if exist %WINVILE_EXE% start %WINVILE_EXE% %1 %2 %3 %4 %5 %6 %7 %8 %9
:finish
endlocal

Este exemplo elimina alguns nomes conflitantes no PATH :

@echo off
setlocal
rem trim path to get rid of cygwin
set PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\com

rem add PERL for vile's builds
set PATH=%PATH%;c:\perl.8.5\bin;c:\perl.8.5\bin\mswin32-x86-multi-thread

call "c:\program files (x86)\microsoft visual studio 9.0\vc/vcvarsall.bat" %1
shift
run-winvile %*
endlocal
    
por 09.05.2015 / 14:25