有时我需要更改仅共享名称的可执行命令的顺序。让我给你看一个简单的例子:
λ where find
C:\Windows\System32\find.exe
C:\Program Files\Git\usr\bin\find.exe
C:\cygwin64\bin\find.exe
在这种情况下,将调用 Windows 的“查找”命令而不是其他两个命令 (GNU findutils)。我的问题很简单:更改顺序或将其中一个设置为第一偏好的正确方法是什么?
最佳答案
转到 Windows 的环境变量定义并复制 PATH
的现有条目.创建一个名为 BASEPATH
的新变量并将所有不属于路径列表的条目放入其中 find.exe
可以被找寻到。
现在创建一个名为 fwin.cmd
的文件并将其放在 PATH 上的某个位置。该文件的内容如下所示:
@echo off
SET PATH=C:\windows\system32;%BASEPATH%
ECHO Set path to search tools like find in Windows own folder
创建两个文件
fgit.cmd
和 fcyg.cmd
并相应地更改 PATH。不时额外安装的应用程序会改变您的
PATH
.如果是这种情况,您需要将新条目添加到 BASEPATH
.取决于哪个
find.exe
你想要的,打开Windows的命令行shell并调用相应的cmd文件。批处理设置的路径将是打开的 shell 的本地路径,一旦关闭它,设置将消失。你也可以直接解决想要的 find.exe 但这意味着更多的输入并且可能不是你想要的:
dir C:\ /S | C:\Windows\System32\find.exe foo
关于windows - 更改 Windows 上可执行命令的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59722970/