Possíveis motivos para o erro de shell do Windows cmd
'foo' is not recognized as an internal or external command,
operable program or batch file
Duas variáveis de ambiente são ligadas de perto com a execução do comando shell: PATH
e PATHEXT
.
- A variável de ambiente
PATH
define o caminho de pesquisa do Windows, ou seja, uma lista de diretórios pesquisados quando o shell de comando tenta localizar um arquivo executável . - A variável de ambiente
PATHEXT
define a lista de extensões de arquivos verificadas pelo Windows ao pesquisar por um arquivo executável .
E qualquer extensão de arquivo pode ser considerada executável : se uma extensão de arquivo estiver associada a um aplicativo, o shell executará o aplicativo apropriado. Aqui está associado significa o mesmo que é definido como ação de shell padrão no registro do Windows para uma extensão de arquivo específica.
Aqui está uma boa introdução a todo este tópico: O Shell de Comando do Windows NT