windows命令行大全 - 命令行指令




在Windows命令行上是否有相当于'which'的内容? (14)

Windows Server 2003和更高版本(即Windows XP 32位之后的任何内容)提供了执行某些功能的where.exe程序,尽管它匹配所有类型的文件,而不仅仅是可执行的命令。 (它与cd类的内置shell命令不匹配。)它甚至会接受通配符,所以where nt*查找名称以nt开头的%PATH%和当前目录中的所有文件。

尝试where /? 求助。

请注意,Windows PowerShell将where定义为Where-Object cmdlet的别名,因此如果您需要where.exe ,则需要输入完整名称而不是省略.exe扩展名。

由于我有时会遇到路径问题,我的某个cmd脚本被另一个程序(路径上的较早)隐藏(隐藏),因此我希望能够在Windows命令行上找到程序的完整路径,并给出只是它的名字。

有没有相当于UNIX命令'which'?

在UNIX上, which command打印给定命令的完整路径以轻松找到并修复这些影子问题。


GnuWin32工具和其他一些Unix工具一起使用。


从这里获取unxutils: http://sourceforge.net/projects/unxutils/ : http://sourceforge.net/projects/unxutils/

在Windows平台上的黄金,把所有漂亮的Unix工具放在标准的Windows DOS上。 多年来一直使用它。

它包含一个'哪个'。 请注意,它是区分大小写的。

注意:要安装它,将zip分解到某处并将... \ UnxUtils \ usr \ local \ wbin \添加到您的系统路径env变量中。


在PowerShell下, get-command将在$Env:PATH任何位置查找可执行文件。

get-command eventvwr

CommandType   Name          Definition
-----------   ----          ----------
Application   eventvwr.exe  c:\windows\system32\eventvwr.exe
Application   eventvwr.msc  c:\windows\system32\eventvwr.msc

它还通过为当前shell定义的$Env:PATHEXT等定制了powershell cmdlet,函数,别名,带有自定义可执行文件扩展名的文件(类似于bash的type -a foo ) - 使其成为比其他工具where.exewhich.exe等不知道这些PowerShell命令。

你可以快速设置一个别名, sal which gcmset-alias which get-command缩写形式)。


在Windows CMD which调用where

$ where php
C:\Program Files\PHP\php.exe

在Windows PowerShell中:

set-alias which where.exe

对于你的XP用户(其中​​没有内置命令),我写了一个叫“where like”的命令,叫做whichr叫做whichr

要安装它,请安装ruby

然后

gem install whichr

像运行它

c:\>whichr cmd_here



我创建了类似于Ned Batchelder的工具:

在PATH中搜索.dll和.exe文件

虽然我的工具主要用于搜索各种dll版本,但它显示更多信息(日期,大小,版本),但它不使用PATHEXT(我希望很快更新我的工具)。


我在Windows上发现的最佳版本是Joseph Newcomer的“whereis”实用程序,它可以从他的站点获得

关于“whereis”发展的文章值得一读。


我在我的PowerShell配置文件中有一个名为'which'的函数,

function which {
    get-command $args[0]| format-list
}

以下是输出结果:

PS C:\Users\fez> which python


Name            : python.exe
CommandType     : Application
Definition      : C:\Python27\python.exe
Extension       : .exe
Path            : C:\Python27\python.exe
FileVersionInfo : File:             C:\Python27\python.exe
                  InternalName:
                  OriginalFilename:
                  FileVersion:
                  FileDescription:
                  Product:
                  ProductVersion:
                  Debug:            False
                  Patched:          False
                  PreRelease:       False
                  PrivateBuild:     False
                  SpecialBuild:     False
                  Language:

我正在使用GOW(Windows上的Gnu),它是cygwin的轻量版本。 你可以here.从github抓取它here.

Gow(Gnu On Windows)是Cygwin的轻量级替代品。 它使用了一个方便的Windows安装程序,它安装了大约130个非常有用的开源UNIX应用程序,它们被编译为本机win32二进制文件。 它的设计尽可能小,大约10 MB,而Cygwin可以运行在100 MB以上,具体取决于选项。 - 关于描述(Brent R. Matzelle)

GOW中包含的命令列表屏幕截图。


此批处理文件使用CMD变量处理来查找将在路径中执行的命令。 注意:当前目录总是在路径之前完成),并且取决于使用哪个API调用,在路径之前/之后搜索其他位置。

@echo off
echo. 
echo PathFind - Finds the first file in in a path
echo ======== = ===== === ===== ==== == == = ====
echo. 
echo Searching for %1 in %path%
echo. 
set a=%~$PATH:1
If "%a%"=="" (Echo %1 not found) else (echo %1 found at %a%)

set /? 求助。


没有库存的Windows,但是它是由Services for Unix提供的并且有几个简单的批处理脚本可以完成同样的事情,例如这个。





path-variables