Próbuję ustawić trzy zmienne środowiskowe i dodać je do ścieżki komputera. W tej chwili mój kod wygląda następująco:
setx CATALINA_HOME "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7" /m
setx JRE_HOME "C:\Program Files (x86)\Java\jre7" /m
setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_21" /m
setx PATH "%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin;%CATALINA_HOME%\BIN;" /m
Pierwsze trzy, gdy są uruchamiane samodzielnie, działają dobrze do dodawania zmiennej. Jednak ostatni wiersz powoduje usunięcie części oryginalnej ścieżki i brak dodatkowych zmiennych.
Moim pożądanym rezultatem byłoby dodanie trzech zmiennych i podanie całej ścieżki systemu
[original path];%JAVA_HOME%\bin;%JRE_HOME%\bin;%CATALINA_HOME%\BIN;
źródło
/m
opcja dosetx
.Jeśli używasz% var%, jest on rozwijany podczas użycia. Jeśli chcesz ustawić zmienną tak, aby zawierała% var%, musisz napisać %% var %%.
Zauważ również, że ustawienia rejestru nie są widoczne w bieżącym procesie, ale są postrzegane tylko przez nowe procesy. W winpe te ustawienia w rejestrze nigdy nie są przekazywane do nowych procesów, ale środowisko cmd pobiera środowisko eksploratora, a nie rejestr. Z tego powodu ludzie napisali narzędzia, które dostosowują różne środowiska.
Jeśli chcesz odczytać rejestr do bieżącej sesji cmd, możesz potrzebować conset.exe Franka Westlake'a.
źródło
Odkryłem, że umieszczenie
/M
przełącz wcześnie wykonuje sztuczkę, nawet jeśli chcą, aby umieścić go na końcu.Na przykład to działa:
Ale to nie:
źródło