Quais variáveis de ambiente serão usadas ao chamar um EXE a partir da linha de comando?

2

Se você invocar nmake (ou qualquer exe ) na linha de comando do Windows, o Windows pesquisará todas as variáveis path , anexará o diretório à frente do nmake e executará.

Além de path , existe alguma outra variável ambiental que o Windows pesquisará e anexará à frente de nmake ?

    
por Graviton 28.01.2010 / 07:50

3 respostas

1

não, não que eu saiba.

(e eu não considero o PATHEXT como resposta ... apenas APENAS alguns padrões para a coisa que você joga no CMD para encontrar o binário correto)

    
por 28.01.2010 / 07:54
1

PATH é a única variável de ambiente que contém locais que o Windows irá pré-adicionar ao seu comando para encontrar um programa para executar. No entanto, o Windows usa a variável PATHEXT para determinar quais extensões de arquivo acrescentam ao seu comando para localizar um arquivo para executar.

O algoritmo é um pouco assim:

  • para cada entrada em PATH , faça até que um arquivo seja encontrado:
    • arquivo = entrada + comando; verifique o arquivo
    • para cada entrada em PATHEXT , faça até que um arquivo seja encontrado:
      • arquivo = arquivo + entrada; verifique o arquivo
  • se um arquivo foi encontrado, execute-o
por 03.04.2010 / 23:15
0

Não.

PATH é uma variável de ambiente que o shell usa para resolver locais executáveis sob especificação. Quando você digita nmake , o shell primeiro procura no diretório atual algo que pode ser executado ( nmake.exe , nmake.bat , etc.) e o executa se for encontrado. Se não, então ele olha para cada diretório especificado em PATH procurando o exectuable e executa o primeiro que encontrar.

Não há nada de especial sobre PATH , exceto que é a variável que o shell usa para essa finalidade. Não há razão para o shell tentar usar qualquer outra variável para esse propósito.

    
por 03.04.2010 / 23:10