Zmienna PATH systemu Windows ignoruje numer wersji

1

Od zawsze mam zakodowane na stałe zmienne środowiskowe w systemie Windows lub użyłem jakiegoś skryptu, aby znaleźć ścieżkę do pliku wykonywalnego z wyrażeniem regularnym. Czy istnieje mechanizm dodawania lokalizacji do zmiennej środowiskowej PATH, która ignoruje numery wersji w systemie Windows 10?

Powiedzmy na przykład, że chcę dodać "C:\Program Files\R\R-3.2.3\bin\x64"do mojej ścieżki, ale wiem, że numer wersji (3.2.3) będzie się często zmieniać. Czy istnieje sposób na zrobienie tego, co by zignorowało cokolwiek pomiędzy „C: \ Program Files \ R \ R” i „\ bin \ x64”?

Tak więc wynik byłby podobny

set PATH=%PATH%;C:\Program Files\R\R-3.2.3\bin\x64

które mogą uwzględniać zmianę numeru wersji?

jenesaisquoi
źródło
1
set RVERSION=R-3.2.3następnie set PATH=%PATH%;C:\Program Files\R\%RVERSION%\bin\x64może załatwić sprawę. R
Umieść
2
Można zrobić to, co odbywa się w systemie Linux: umieścić C:\Program Files\R\R-current\bin\x64w PATH, a następnie utworzyć C:\Program Files\R\R-currentjako link do C:\Program Files\R\R-R-3.2.3lub którykolwiek wersja chcesz użyć.
AFH
@afh Dobry pomysł, ale nie pozwala łatwo przełączać się między różnymi wersjami.
DavidPostill
1
@DavidPostill - To tylko usunięcie i ponowne utworzenie linku, co moim zdaniem jest łatwiejsze niż zmiana zmiennej środowiskowej, co oznaczałoby edycję pliku startowego, choć z pewnością jest to inna opcja. Stała ścieżka może zostać dodana do środowiska Windows i stać się globalna.
AFH
1
Dzięki chłopaki, @AFH, ten dźwięk wygląda, jakby działał świetnie. Zaakceptuję to, jeśli będziesz skłonny dodać odpowiedź. Czy używałbyś systemu mklink /DWindows 10?
jenesaisquoi

Odpowiedzi:

2

Sposób, w jaki Linux obsługuje różne wersje, odbywa się za pomocą łączy, a tę samą technikę można zastosować w systemie Windows. Możesz utworzyć link do bieżącej wersji, np .:

mklink /j "C:\Program Files\R\R-current" "C:\Program Files\R\R-3.2.3"

Teraz możesz dodać C:\Program Files\R\R-currentdo swojej ścieżki, albo w pliku startowym, albo, bardziej trwale, w PATHustawieniach systemu Windows . Ilekroć chcesz zmienić wersje, po prostu wpisz:

rd "C:\Program Files\R\R-current"
mklink /j "C:\Program Files\R\R-current" "C:\Program Files\R\R-3.2.4"

Możesz oczywiście umieścić te polecenia w pliku wsadowym z kodem wersji jako parametrem.

Zauważ, że użyłem mklink /jzamiast tego, /dponieważ w systemie Windows 10 potrzebuję uprawnień administracyjnych /d, a ponieważ skrzyżowanie zachowuje się bardziej racjonalnie przy zdalnym dostępie do plików, chociaż do użytku lokalnego można użyć jednego z nich.

AFH
źródło