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?
windows-10
environment-variables
path
jenesaisquoi
źródło
źródło
set RVERSION=R-3.2.3
następnieset PATH=%PATH%;C:\Program Files\R\%RVERSION%\bin\x64
może załatwić sprawę.R
C:\Program Files\R\R-current\bin\x64
wPATH
, a następnie utworzyćC:\Program Files\R\R-current
jako link doC:\Program Files\R\R-R-3.2.3
lub którykolwiek wersja chcesz użyć.mklink /D
Windows 10?Odpowiedzi:
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 .:
Teraz możesz dodać
C:\Program Files\R\R-current
do swojej ścieżki, albo w pliku startowym, albo, bardziej trwale, wPATH
ustawieniach systemu Windows . Ilekroć chcesz zmienić wersje, po prostu wpisz:Możesz oczywiście umieścić te polecenia w pliku wsadowym z kodem wersji jako parametrem.
Zauważ, że użyłem
mklink /j
zamiast tego,/d
ponieważ 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.źródło