Każdy administrator systemu, który spędza sporo czasu w wierszu polecenia lub skryptach wsadowych, jest prawdopodobnie świadomy wbudowanych zmiennych środowiskowych, które oferuje Windows (tj. Ścieżka, plik WinDir, ProgramFiles, UserProfile itd.). Jeśli używasz konkretnej wartości w kółko, czy nie byłoby wspaniale, gdybyś miał swoją własną zmienną, którą możesz użyć w taki sam sposób jak wbudowane wartości?
Za pomocą kilku kliknięć możesz tworzyć i utrzymywać własne zmienne środowiskowe, które są zarówno globalne w systemie, jak i przetrwać ponowne uruchomienie.
Tworzenie nowej globalnej zmiennej systemowej jest dość proste i jest jedną z tych funkcji ukrytych na widoku. Zauważ, że zrzuty ekranu dotyczą systemu Windows Server 2008, jednak proces dla większości wersji systemu Windows jest prawie identyczny, z kilkoma innymi ekranami.
W Panelu sterowania otwórz opcję System (na przemian możesz kliknąć prawym przyciskiem myszy na Mój komputer i wybrać Właściwości). Wybierz łącze "Zaawansowane ustawienia systemu".
W oknie dialogowym Właściwości systemu kliknij "Zmienne środowiskowe".
W oknie dialogowym Zmienne środowiskowe kliknij przycisk Nowy pod sekcją "Zmienne systemowe".
Wprowadź nazwę nowej zmiennej oraz wartość i kliknij OK.
Powinieneś zobaczyć swoją nową zmienną w sekcji "Zmienne systemowe". Kliknij OK, aby zastosować zmiany.
Możesz teraz uzyskać dostęp do nowej zmiennej systemowej, tak jak każdej innej. Możesz go używać z poziomu wiersza poleceń lub skryptów wsadowych bez konieczności definiowania go.
Jak wspomniano powyżej, twoja niestandardowa zmienna środowiskowa nie różni się od innych zmiennych systemowych, ponieważ możesz odwoływać się do nich z linii poleceń i wewnątrz skryptów. Aby uzyskać szybki przykład, rozważ ten skrypt wsadowy:
@ECHO OFF
TITLE Global Variable Test
ECHO.
Wartość ECHO System NotifyEmail
ECHO NotifyEmail =% NotifyEmail%
ECHO.
SETLOCAL
Zmienna globalna ECHO w tym skrypcie ...
SET [email protected]
ECHO NotifyEmail =% NotifyEmail%
ECHO.
ECHO Wychodzenie ze skryptu zastępującego ...
ENDLOCAL
ECHO.
Wartość ECHO System NotifyEmail
ECHO NotifyEmail =% NotifyEmail%
ECHO.
ECHO.
ECHO.
PAUZA
Po uruchomieniu wynik jest dokładnie taki, jakiego oczekujesz:
Prawdziwa moc niestandardowych zmiennych środowiskowych wchodzi, gdy używasz ich w swoich skryptach. W naszym przykładzie ustawiliśmy zmienną o nazwie "NotifyEmail", do której moglibyśmy się odwoływać w dowolnej liczbie skryptów bez konieczności sztywnego kodowania wartości. Jeśli więc będziemy musieli zmienić adres e-mail, po prostu zaktualizujemy zmienną systemową, a zmienione skrypty wykorzystają tę nową wartość bez konieczności indywidualnego aktualizowania każdego skryptu.
To nie tylko oszczędność czasu, ale także ochrona przed sytuacją, w której zapominasz zaktualizować dany skrypt i używasz "martwej" wartości. Dodatkowo w przypadku, gdy chcesz zastąpić zmienną systemową w określonym skrypcie, możesz zobaczyć w naszym przykładzie powyżej, że jest ona w pełni obsługiwana.
Oto kilka pomysłów, w których można zastosować zmienne systemowe zamiast lokalnych zmiennych zasięgu:
Kolejną wspaniałą cechą korzystania ze zmiennych systemowych jest jedno miejsce, w którym można edytować lub wyświetlać wartości zmiennych. Mówiąc prosto, możesz potencjalnie zastosować aktualizacje do wielu skryptów, edytując zmienne środowiskowe w jednym miejscu.