Изменить порядок исполняемых команд на Windows - PullRequest
0 голосов
/ 13 января 2020

Иногда мне нужно изменить порядок исполняемой команды, которая разделяет только имя. Позвольте мне показать вам простой пример:

λ where find
C:\Windows\System32\find.exe
C:\Program Files\Git\usr\bin\find.exe
C:\cygwin64\bin\find.exe

В этом случае команда Windows 'find' вызывается вместо двух других (GNU findutils). Мой вопрос довольно прост: как правильно изменить порядок или установить один из них в качестве первого предпочтения?

1 Ответ

0 голосов
/ 15 января 2020

Go для определения переменных среды Windows и скопируйте существующую запись для PATH. Создайте новую переменную с именем BASEPATH и поместите в нее все записи, которые не относятся к списку путей, где можно найти find.exe.

Теперь создайте файл с именем fwin.cmd и поместите это где-нибудь в ПУТИ. Содержимое этого файла будет выглядеть так:

@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 и вызовите соответствующий файл cmd. Путь, заданный пакетом, будет локальным по отношению к открытой оболочке, после того как вы закроете его, настройка пропадет.

Вы также можете напрямую обратиться к требуемому find.exe, но это означает, что нужно больше печатать, и, вероятно, это не то, что Вы хотите:

dir C:\ /S | C:\Windows\System32\find.exe foo
...