mik*_*had 3 windows cmd mingw msys windows-8.1
我正在尝试覆盖windows find命令,以便我可以调用另一个实现find.另一个实现由MSYS提供,位于C:\ MinGW\msys\1.0\bin中.在Windows 7上,我可以打开一个CMD,然后运行:
SET PATH=C:\MinGW\msys\1.0\bin;%PATH%
Run Code Online (Sandbox Code Playgroud)
由于它在C:\ Windows\System32\path之前的MSYS路径前缀,因此find在Windows 7上的CMD中调用时,MSYS版本将执行.
该命令不适用于Windows 8.1.当我find在Windows 8.1上调用CMD时,无论我做什么,它都默认为Windows实现.有没有办法在Windows 8.1上覆盖它?
我正在寻找一种只改变当前CMD实例的路径信息的解决方案.出于我的目的,我宁愿不必使用powershell(即使路径设置在powershell中按预期工作).
谢谢!
运行cmd.exe时,请确保您没有从C:\ Windows\System32目录运行该命令(这是我自动打开的目录).当您在具有匹配命令的目录(在本例中为MS'get.exe)时,即使您的路径中首先列出了MSYS find.exe,本地副本也将优先于PATH变量.
所以,为了让它为我工作,我运行cmd.exe,然后
C:\WINDOWS\system32>SET PATH=C:\msys64\usr\bin;C:\Program Files (x86)\CodeBlocks\MinGW\bin;%PATH%
Run Code Online (Sandbox Code Playgroud)
如果我跑,where find我得到
C:\WINDOWS\system32>where find
C:\Windows\System32\find.exe
C:\msys64\usr\bin\find.exe
C:\Program Files (x86)\Git\bin\find.exe
Run Code Online (Sandbox Code Playgroud)
如果我更改目录并运行where find我得到:
C:\WINDOWS\system32>cd C:\
C:\>where find
C:\msys64\usr\bin\find.exe
C:\Windows\System32\find.exe
C:\Program Files (x86)\Git\bin\find.exe
Run Code Online (Sandbox Code Playgroud)
我的路径略有不同,因为我正在尝试使用MSYS2,但同样适用于旧版本的MSYS.
祝你好运@mikewesthad!
| 归档时间: |
|
| 查看次数: |
6084 次 |
| 最近记录: |