Windows命令行中是否有“哪个”的等价物?

Windows命令行中是否有“哪个”的等价物?

由于有时我有路径问题,其中一个自己的cmd脚本被另一个程序隐藏(隐藏在路径的前面),所以我希望能够在Windows命令行中找到一个程序的完整路径,只要给出它的名称。

是否与UNIX命令“哪个”等效?

在UNIX上,which command打印给定命令的完整路径,以便轻松查找和修复这些隐藏问题。


守候你守候我
浏览 696回答 3
3回答

开心每一天1111

虽然以后版本的Windows有一个where命令,您也可以通过使用环境变量修饰符来完成此操作,如下所示:c:\>&nbsp;for&nbsp;%i&nbsp;in&nbsp;(cmd.exe)&nbsp;do&nbsp;@echo.&nbsp;&nbsp;&nbsp;%~$PATH:i &nbsp;&nbsp;&nbsp;C:\WINDOWS\system32\cmd.exe c:\>&nbsp;for&nbsp;%i&nbsp;in&nbsp;(python.exe)&nbsp;do&nbsp;@echo.&nbsp;&nbsp;&nbsp;%~$PATH:i &nbsp;&nbsp;&nbsp;C:\Python25\python.exe你不需要任何额外的工具,而且它不限于PATH因为您可以替换您希望使用的任何环境变量(当然是路径格式)。而且,如果您想要一个能够处理PATHEXT中的所有扩展(就像Windows本身一样)的扩展,那么这个扩展就可以实现:@echo&nbsp;off setlocal&nbsp;enableextensions&nbsp;enabledelayedexpansion ::&nbsp;Needs&nbsp;an&nbsp;argument. if&nbsp;"x%1"=="x"&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;Usage:&nbsp;which&nbsp;^<progName^> &nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;:end ) ::&nbsp;First&nbsp;try&nbsp;the&nbsp;unadorned&nbsp;filenmame. set&nbsp;fullspec= call&nbsp;:find_it&nbsp;%1 ::&nbsp;Then&nbsp;try&nbsp;all&nbsp;adorned&nbsp;filenames&nbsp;in&nbsp;order. set&nbsp;mypathext=!pathext! :loop1 &nbsp;&nbsp;&nbsp;&nbsp;::&nbsp;Stop&nbsp;if&nbsp;found&nbsp;or&nbsp;out&nbsp;of&nbsp;extensions. &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;"x!mypathext!"=="x"&nbsp;goto&nbsp;:loop1end &nbsp;&nbsp;&nbsp;&nbsp;::&nbsp;Get&nbsp;the&nbsp;next&nbsp;extension&nbsp;and&nbsp;try&nbsp;it. &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;/f&nbsp;"delims=;"&nbsp;%%j&nbsp;in&nbsp;("!mypathext!")&nbsp;do&nbsp;set&nbsp;myext=%%j &nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;:find_it&nbsp;%1!myext! ::&nbsp;Remove&nbsp;the&nbsp;extension&nbsp;(not&nbsp;overly&nbsp;efficient&nbsp;but&nbsp;it&nbsp;works). :loop2 &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;"x!myext!"=="x"&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;myext=!myext:~1! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;mypathext=!mypathext:~1! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;:loop2 &nbsp;&nbsp;&nbsp;&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;"x!mypathext!"=="x"&nbsp;set&nbsp;mypathext=!mypathext:~1! &nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;:loop1 :loop1end :end endlocal goto&nbsp;:eof ::&nbsp;Function&nbsp;to&nbsp;find&nbsp;and&nbsp;print&nbsp;a&nbsp;file&nbsp;in&nbsp;the&nbsp;path. :find_it &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;%%i&nbsp;in&nbsp;(%1)&nbsp;do&nbsp;set&nbsp;fullspec=%%~$PATH:i &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;"x!fullspec!"=="x"&nbsp;@echo.&nbsp;&nbsp;&nbsp;!fullspec! &nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;:eof它实际上返回了所有的可能性,但是您可以很容易地根据特定的搜索规则对其进行调整。
打开App,查看更多内容
随时随地看视频慕课网APP