Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix的Windows/Powershell版本';其中';效用_Windows_Powershell - Fatal编程技术网

Unix的Windows/Powershell版本';其中';效用

Unix的Windows/Powershell版本';其中';效用,windows,powershell,Windows,Powershell,“which”实用程序在使用命名可执行文件的参数运行时,将告诉您在路径中找到的第一个具有该名称的可执行文件(如果找到)。这可以很好地了解将运行哪个版本的可执行文件。(如果此描述不完整,请原谅,但它传达了总体思路) 我正在寻找“which”实用程序的端口、Powershell命令或其他一些我不知道的实用程序,它们可以做同样的事情 我已经看了下面的SO问题(并将在所选答案中尝试for循环逻辑)。我更喜欢使用一个命令来实现这个功能,并想看看它是否存在。如果类似的东西不存在,那么可以很容易地将该逻辑放入

“which”实用程序在使用命名可执行文件的参数运行时,将告诉您在路径中找到的第一个具有该名称的可执行文件(如果找到)。这可以很好地了解将运行哪个版本的可执行文件。(如果此描述不完整,请原谅,但它传达了总体思路)

我正在寻找“which”实用程序的端口、Powershell命令或其他一些我不知道的实用程序,它们可以做同样的事情

我已经看了下面的SO问题(并将在所选答案中尝试for循环逻辑)。我更喜欢使用一个命令来实现这个功能,并想看看它是否存在。如果类似的东西不存在,那么可以很容易地将该逻辑放入脚本中:


CodeProject上的实用程序已存在。它已经有6年左右没有更新了,当用VS2010在我的Win7机器上构建时,在运行时崩溃了。我计划尽职调查,找出它坠毁的原因,但直到今晚我才有时间



有人在Windows上使用过其他实用程序或命令来模拟此功能吗?

您可以使用
Get命令
,或将其缩短为
gcm

,其中
在最新版本的Windows上也会这样做。如果您正在执行PowerShell命令,Novakov的回答是正确的。

在Windows上,从命令提示符(cmd)执行

现在您可以像往常一样使用“which”命令了

ps> which <command>
ps>哪个

谢谢。如果可以的话,我会接受你的答案和诺瓦科夫的答案,因为我确实把问题留给了两个答案。向上投票。你试过搜索吗@马诺兹:是的,我找到了答案,但我没有找到答案,在我写我的问题时,我也没有在建议的问题中看到答案。当Novakov回答这个问题时,我找到了他的答案。如果运行:
(Get Command)。Path
可以获取包含该命令的目录。我最喜欢这样:
Get命令|格式化表路径、名称
,这样我也可以获取包含的目录。
where
实用程序似乎只搜索系统路径。由于我有一个批处理文件,所以使用
set
将文件夹添加到路径中,
其中
从不搜索该文件夹。
ps> get-command <command>
ps> where.exe <command>
ps> New-Alias which get-command
ps> which <command>