Zasadniczo wiem, że mogę przejść przez panel sterowania i zmodyfikować zmienną ścieżki. Ale zastanawiam się, czy istnieje sposób, aby poprzez programowanie wsadowe uwzględnić tymczasową ścieżkę? W ten sposób jest używany tylko podczas wykonywania pliku wsadowego. Nie chcę, aby ludzie wchodzili i modyfikowali swoje zmienne ścieżki tylko po to, aby użyć mojego pliku wsadowego.
źródło
setlocal
do pliku wsadowego, ścieżka będzie widoczna tylko w plikuSET
to naprawdę coś, co powinieneś wiedzieć i zrozumieć, zanim zaczniesz pisać.SETLOCAL
niego najwyżej będzie to dotyczyć tylko pojedynczej sesji wiersza polecenia - jeśli robisz to z więcej niż jednego pliku wsadowego i używaszEXIT /B %N%
,SETLOCAL
to po prostu zrzucisz zmiany po wyjściu skryptu. : - /Jest ważny szczegół:
nie działa, podczas gdy
Pracuje. Różnica polega na cytatach!
UPD zobacz także komentarz Venimusa
źródło
SET "PATH=...%PATH%"
spacje istniejące na ścieżce spowodują błędy lub niewłaściwe zachowanie. Zawijanie takich cytatów nie obejmuje ich, ale odpowiednio ustawia zmienną. To samo działa dla każdej innej zmiennej env.Zgadza się, ale nie zmienia to na stałe, ale tylko dla bieżącego wiersza polecenia, jeśli chcesz go zmienić na stałe, musisz użyć na przykład:
Spowoduje to zmianę na stałe i tak, możesz zastąpić go innym skryptem wsadowym.
źródło
/m
musi być posetx
?/m
na końcu,DESIRED_PATH
został dodany z / m na końcu tylko dla bieżącego użytkownika.echo %path%
a otrzymasz bieżącą załadowaną ścieżkę. Musisz odróżnić zmienne środowiskowe użytkownika i systemu od siebie. Następnie możesz ręcznie zastosować je w odpowiednim miejscu.