Windows命令行中是否有“哪个”的等价物?由于有时我有路径问题,其中一个自己的cmd脚本被另一个程序隐藏(隐藏在路径的前面),所以我希望能够在Windows命令行中找到一个程序的完整路径,只要给出它的名称。是否与UNIX命令“哪个”等效?在UNIX上,which command打印给定命令的完整路径,以便轻松查找和修复这些隐藏问题。
3 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
where
c:\> for %i in (cmd.exe) do @echo. %~$PATH:i C:\WINDOWS\system32\cmd.exe c:\> for %i in (python.exe) do @echo. %~$PATH:i C:\Python25\python.exe
PATH
@echo off setlocal enableextensions enabledelayedexpansion :: Needs an argument. if "x%1"=="x" ( echo Usage: which ^<progName^> goto :end ) :: First try the unadorned filenmame. set fullspec= call :find_it %1 :: Then try all adorned filenames in order. set mypathext=!pathext! :loop1 :: Stop if found or out of extensions. if "x!mypathext!"=="x" goto :loop1end :: Get the next extension and try it. for /f "delims=;" %%j in ("!mypathext!") do set myext=%%j call :find_it %1!myext! :: Remove the extension (not overly efficient but it works). :loop2 if not "x!myext!"=="x" ( set myext=!myext:~1! set mypathext=!mypathext:~1! goto :loop2 ) if not "x!mypathext!"=="x" set mypathext=!mypathext:~1! goto :loop1 :loop1end :end endlocal goto :eof :: Function to find and print a file in the path. :find_it for %%i in (%1) do set fullspec=%%~$PATH:i if not "x!fullspec!"=="x" @echo. !fullspec! goto :eof
- 3 回答
- 0 关注
- 695 浏览
添加回答
举报
0/150
提交
取消