Eu uso várias ferramentas CLI, como curl
, ipcalc
, perl
, php
, wget
, etc.
Ao abrir um prompt de comando no menu Iniciar ou em "Executar ..." > cmd
Eu posso invocar essas ferramentas apenas dando seu nome:
Microsoft Windows [version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\cduv>wget
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try 'wget --help' for more options.
C:\Users\cduv>php
^C
Mas notei que ao usar um prompt de comando aberto pela entrada nativa "Abrir janela de comando aqui" do menu contextual SHIFT-down, ele não funciona.
Microsoft Windows [version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\cduv>wget
'wget' not recognized as an internal or external command,
operable program or batch file.
C:\Users\cduv>php
'php' not recognized as an internal or external command,
operable program or batch file.
A variável de ambiente PATH parece OK (caso contrário, eu não poderia executar executáveis como mostrado no primeiro exemplo).
Existe uma explicação para tal diferença? Como posso consertar o console "Abrir janela de comando aqui"?
(estou usando o Windows 7)
EDITAR:
% PATH% de conteúdo no console padrão:
C:\Users\cduv>echo %PATH%
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\ActivePerl 5.14.2.1402\site\bin;C:\Program Files\ActivePerl 5.14.2.1402\bin;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)\PHP 5.5.5\ext;C:\Program Files (x86)\PHP 5.5.5;C:\Program Files (x86)\PsTools 2.44;C:\Program Files (x86)\wget 1.11.4;C:\Program Files\cURL 7.23.1;C:\Program Files\TortoiseGit 1.7.15.0\bin;C:\Drivers\AMD Catalyst Suite 13.1\ATI.ACE\Core-Static;C:\Program Files\Slik Subversion 1.8.3-1\bin
% PATH% conteúdo no console "Abrir janela de comando aqui":
C:\>echo %PATH%
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\ActivePerl 5.14.2.1402\site\bin;C:\Program Files\ActivePerl 5.14.2.1402\bin;%CommonProgramFiles%\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%ProgramFiles(x86)%\PHP 5.5.5\ext;%ProgramFiles(x86)%\PHP 5.5.5;%ProgramFiles(x86)%\PsTools 2.44;%ProgramFiles(x86)%\wget 1.11.4;%ProgramFiles%\cURL 7.23.1;%ProgramFiles%\TortoiseGit 1.7.15.0\bin;C:\Drivers\AMD Catalyst Suite 13.1\ATI.ACE\Core-Static;%ProgramFiles%\Slik Subversion 1.8.3-1\bin
Ao usar o Process Explorer (da Sysinternals), posso dizer qual linha de comando foi usada para abrir o prompt de comando
Pelo menu Iniciar ou Executar prompt: "C:\Windows\system32\cmd.exe"
(Árvore principal: explorer.exe > cmd.exe)
Via "Abrir janela de comando aqui": "cmd.exe" /s /k pushd "C:\"
(Árvore principal: wininit.exe > services.exe > svchost.exe > explorer.exe > cmd.exe)
Tags command-line windows path