windows中Which命令的替代品介绍:DOS中的Where命令和Powershell中的Get-Command

961 阅读2分钟

在Linux中,"哪个 "命令用于向控制台提供可执行命令的位置。

在windows下,这个命令不起作用,并给出一个错误--'which'不被认为是一个内部或外部的命令、可操作程序或批处理文件。

C:>which derby 'which'不被认为是内部或外部命令、可操作程序或批处理文件。

在Unix中,与which命令相对应的windows命令是什么?

本教程涵盖了在windows中哪条命令的替代命令

  • 使用where命令
  • cygwin工具
  • powersheel命令

Where命令相当于Unix/linux中的哪个命令。这只在windows 2003版本中有效。

where命令打印出给定搜索模式的文件位置,这个搜索在环境变量path中给定搜索模式。

下面是一个语法

where  [options] searchpattern

选项:-

/R - 搜索文件的递归路径 /F - 用双引号显示文件路径 /T - 显示文件路径元数据,如大小、修改日期等

搜索模式

它包含字符串或字符串的模式,用*表示多个字符

Here is an help documentation for where.exe command
C:\>where /?

下面是一个例子,说明Ping命令的位置

C:\>where ping
C:\Windows\System32\PING.EXE

假设你想知道有多个版本的java可执行文件的位置。

C:\>where java
A:\Java\jdk1.8.0\bin\java.exe
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe

如果你想知道以jav 开始的单词的位置,在它后面加上*。

where jav*

如果你使用搜索模式jav?,它会搜索单词jav 或第四个字母可能是任何单字母或零。

where jav?

窗口Powershell的替代品

Get-Command 在Powershell中的作用与where命令相同,这只在Powershell命令提示符下起作用。

PS C:\> Get-Command java

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     java.exe                                           8.0.102... A:\Java\jdk1.8.0\bin\java.xe

cygwin是一个运行时工具,支持windows下的linux命令。

你可以从这里安装

所有的Linux命令都能在windows下运行,其中的命令也能如期运行。

结语

总而言之,DOS中的Where命令和Powershell中的Get-Command是windows中Which命令的替代品。