Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Zmienna widoczna tylko w bieżącej sesji

Termin Definicja
Zmienna widoczna tylko w bieżącej sesji

Zmienna widoczna tylko w bieżącej sesji wskazuje na ustawienie jej poleceniem set zamiast setx dla trwałego zapisu.

Zakres obowiązywania zmiennej w procesie cmd.exe

Zmienna widoczna tylko w bieżącej sesji to zmienna środowiskowa ustawiona w konkretnym procesie wiersza polecenia systemu Windows, najczęściej przez polecenie set. Przykład set TRYB=test tworzy albo modyfikuje zmienną o nazwie TRYB w aktualnie działającym interpre­terze cmd.exe. Wartość można odczytać poleceniem echo %TRYB%, a wszystkie zmienne dostępne w tej sesji wyświetla samo set.

Zakres takiej zmiennej jest związany z procesem, w którym została ustawiona. Programy uruchomione później z tego okna, na przykład narzędzie kompilujące, skrypt albo kolejny proces cmd.exe, zwykle dziedziczą środowisko procesu nadrzędnego. Dzięki temu mogą odczytać TRYB. Zakończenie bieżącego okna wiersza polecenia usuwa jednak jego zmiany z pamięci procesu. Nowe okno cmd.exe nie otrzyma tej wartości, chyba że zostanie uruchomione jako potomek procesu, który nadal ją posiada.

Różnica między set a setx w systemie Windows

Polecenie set modyfikuje środowisko aktualnego procesu, natomiast setx zapisuje zmienną trwale w konfiguracji środowiska użytkownika albo komputera, zależnie od użytych uprawnień i parametrów. Składnia setx TRYB test nie zmienia środowiska już otwartego okna cmd.exe. Wartość zapisana przez setx będzie dostępna dopiero dla procesów uruchomionych później, po ponownym utworzeniu ich środowiska, na przykład w nowym oknie terminala.

Te polecenia służą więc do różnych celów. set jest odpowiednie, gdy ustawienie ma obowiązywać tylko podczas jednego polecenia, skryptu lub krótkiej sesji diagnostycznej. setx służy do utrwalania wartości pomiędzy sesjami, ale jego użycie wymaga ostrożności. Nie należy traktować go jako natychmiastowego odświeżenia zmiennych w bieżącym terminalu. Po zmianie można sprawdzić wartość w nowym procesie, uruchamiając nowe okno cmd.exe i wykonując echo %TRYB%.

Dziedziczenie, rozwijanie i usuwanie wartości

Wartość zmiennej środowiskowej jest przekazywana do procesu potomnego w chwili jego uruchomienia. Jeżeli w jednym oknie wykonano set ŚRODOWISKO=dev, program uruchomiony z tego okna może odczytać tę wartość, ale program uruchomiony wcześniej nie zostanie automatycznie zaktualizowany. Z tego samego powodu zmiana środowiska w jednym oknie terminala nie zmienia środowiska niezależnego okna, które działa jako osobny proces.

W cmd.exe zapis %NAZWA% jest rozwijany do wartości zmiennej podczas interpretowania polecenia. Zmienną można usunąć poleceniem set NAZWA=. Jeżeli wartość zawiera spacje, bezpieczniejszy zapis to set "NAZWA=wartość ze spacją", ponieważ cudzysłowy nie stają się częścią wartości. Trzeba również rozróżniać zwykłe zmienne sesyjne od zmiennych systemowych i użytkownika zapisanych poza procesem. Polecenie set może przesłonić odziedziczoną wartość tylko w bieżącym procesie i jego późniejszych potomkach.

Znaczenie zmiennej sesyjnej przy pracy serwisowej

Sesyjna zmienna środowiskowa może ułatwić odtworzenie warunków działania programu bez trwałego modyfikowania konfiguracji systemu. Można jej użyć do przekazania trybu pracy skryptowi, wskazania katalogu roboczego albo tymczasowego parametru narzędzia, a po zamknięciu sesji ustawienie przestaje obowiązywać. Przed diagnozą warto ustalić, w którym procesie zmienna została ustawiona, czy program został uruchomiony później oraz czy nie korzysta z własnego pliku konfiguracyjnego zamiast ze środowiska Windows.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z uruchamianiem aplikacji można sprawdzić między innymi dziedziczenie zmiennych, różnicę między konfiguracją sesyjną i trwałą oraz wpływ błędnej wartości na konkretny program. Taka weryfikacja pozwala oddzielić błąd ustawienia środowiska od problemu samej aplikacji, ścieżki dostępu, uprawnień albo uszkodzonego systemu Windows.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę