从“在此处打开命令窗口”控制台调用时未找到路径内的可执行文件

从“在此处打开命令窗口”控制台调用时未找到路径内的可执行文件

我使用了几个 CLI 工具,例如curl、、、、、等等。ipcalcperlphpwget

当通过“开始”菜单或“运行...”打开命令提示符时,cmd我只需提供其名称即可调用这些工具:

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

但我注意到,当使用通过 SHIFT 向下上下文菜单的本机“在此处打开命令窗口”条目打开的命令提示符时,它不起作用。

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.

PATH 环境变量似乎没问题(否则我无法运行如第一个示例所示的可执行文件)。

有没有什么解释可以解释这种差异?我该如何修复“在此处打开命令窗口”控制台?

(我使用的是 Windows 7)

编辑:

标准控制台上的 %PATH% 内容:

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% 内容:

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

通过使用 Process Explorer(来自 Sysinternals),我可以知道使用哪个命令行来打开命令提示符

  • 通过“开始”菜单或运行提示:"C:\Windows\system32\cmd.exe"

    (父树:explorer.exe > cmd.exe)

  • 通过“在此处打开命令窗口”:"cmd.exe" /s /k pushd "C:\"

    (父树:wininit.exe > services.exe > svchost.exe > explorer.exe > cmd.exe)

相关内容