从 Windows 命令提示符启动时找出正在运行的应用程序

从 Windows 命令提示符启动时找出正在运行的应用程序

由于您可以在 %PATH% 环境变量中放入大量目录,因此应用程序名称之间很容易发生无意冲突。我发誓我以前遇到过这个提示,但我找不到它。有没有办法在命令提示符下查看应用程序所在的目录?例如,我正在寻找以下内容:

C:\> xcopy
Invalid number of parameters
0 File(s) copied

C:\> **SOME_COMMAND** xcopy
C:\Windows\System32\xcopy.exe

答案1

有点重,但如果你喜欢 Windows 中的命令行,你应该尝试一下赛格威。将它的 \bin 文件夹放在您的 PATH 上,您将拥有一大堆出色的工具,尤其是which,它会准确地告诉您将要执行哪个文件 :)

(是的,我意识到将 PATH 添加到其中以解决过多问题很讽刺)

编辑:也可能是合适的。

答案2

Where.exe 是 unices 上 whereis 的 Windows 等效版本。如果您使用的是 Windows Server 2003+ 或 Vista+,此工具将安装到 %windir%/System32。在命令 shell (cmd.exe) 中使用“where”会按路径搜索顺序显示结果:

C:\> where where
C:\Windows\System32\where.exe

请记住,PowerShell 通常将“where”别名为 Where-Object,因此您只需要在从 PowerShell 调用 where 时包含“.exe”:

C:\> where.exe where
C:\Windows\System32\where.exe

另请参阅Windows 中与 whereis 等效的是什么?

答案3

这是一个简单的沐浴文件,它可以完成您想要的操作。

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

whereis xcopy - 有效 whereis xcopy.exe - 无效

希望它能有所帮助(有点)

问候

答案4

UNIX GNU 工具在 Windows 端口中可用,您不必像上面那样痛苦地编写脚本。当给定 xcopy 或 xcopy.exe 或其他可执行文件(包括 BAT 文件)时,which 命令有效。这些可以从以下位置下载:

http://gnuwin32.sourceforge.net/packages.html

它们非常方便。

相关内容