在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命令的替代品。