Przejdź do głównej zawartości

Polecenie set

Wyświetla, ustawia i usuwa zmienne środowiskowe programu cmd.exe.

SET [zmienna=[ciąg]]

  zmienna  Określa nazwę zmiennej środowiskowej.
  ciąg     Określa ciąg znaków, który ma być przypisany zmiennej.

Wpisz SET bez parametrów, aby wyświetlić bieżące zmienne środowiskowe.

Przy włączonych rozszerzeniach poleceń polecenie SET zmienia się następująco:

Polecenie SET wywołane tylko z nazwą zmiennej, bez znaku równości lub wartości
wyświetli wartość wszystkich zmiennych, których prefiks odpowiada.
nazwie podanej poleceniu SET. Na przykład:

    SET P

wyświetli wszystkie zmienne, których nazwy zaczynają się od litery 'P'

Polecenie SET nada zmiennej ERRORLEVEL wartość 1, jeśli nazwy tej zmiennej
nie można znaleźć w bieżącym środowisku.

Polecenie SET nie zezwala, aby znak równości (=) był częścią nazwy zmiennej.

Do polecenia SET dodano dwa nowe przełączniki:

    SET /A wyrażenie
    SET /P zmienna=[ciąg_monitu]

Przełącznik /A mówi, że ciąg po prawej stronie znaku równości jest
wyrażeniem numerycznym, które jest obliczane. Program obsługujący
obliczanie wyrażeń jest bardzo prosty i obsługuje następujące operacje
(wymienione według malejącego pierwszeństwa):

    ()                  - grupowanie
    ! ~ -               - operatory jednoargumentowe
    * / %               - operatory arytmetyczne
    + -                 - operatory arytmetyczne
    << >>               - przesunięcie logiczne
    &                   - logiczne "i"
    ^                   - logiczne wyłączne "lub"
    |                   - logiczne "lub"
    = *= /= %= += -=    - przypisanie
      &= ^= |= <<= >>=
    ,                   - separator wyrażeń

Jeśli używasz operatorów logicznych lub modulo, ujmij ciąg wyrażenia
w cudzysłów. Wszelkie nie numeryczne ciągi w wyrażeniu są traktowane jako
zmienne środowiskowe, których wartości, przed ich użyciem, muszą być
konwertowane na liczby. Jeśli nazwa zmiennej środowiskowej jest podana, ale
nie jest określona w bieżącym środowisku, to używana jest wartość zero.
Pozwala to na działania arytmetyczne z użyciem zmiennych środowiskowych bez
potrzeby wpisywania znaków %, by uzyskać ich wartości. Jeśli polecenie
SET /A jest wykonywane z wiersza polecenia poza skryptem poleceń, to wyświetla
ostateczną wartość wyrażenia. Operator przypisania wymaga nazwy zmiennej
środowiska po swojej lewej stronie. Wartości liczbowe są liczbami
dziesiętnymi, o ile nie są  poprzedzone znakami 0x (wówczas są to liczby
w postaci szesnastkowej), 0b (liczby dwójkowe) lub 0 (liczby ósemkowe).
Zatem 0x12 jest tym samym co 0b10010 i tym samym co 022. Zwróć uwagę,
że zapis ósemkowy  może być mylący: 08 i 09 nie są poprawnymi liczbami,
ponieważ 8 i 9 nie są prawidłowymi cyframi ósemkowymi.

Przełącznik /P zezwala na ustawienie wartości zmiennej dla wiersza wejścia
wprowadzonego przez użytkownika. Wyświetla określony ciąg_monitu przed
odczytaniem wiersza wejścia. Ciąg_monitu może być pusty.

Podstawianie zmiennej środowiskowej zostało ulepszone:

    %PATH:str1=str2%

rozwija zmienną środowiskową PATH, podstawiając każde wystąpienie "str1"
w rozwiniętym wyniku z "str2". "str2" może być ciągiem pustym w celu
efektywnego usuwania wszystkich wystąpień ciągu "str1" z rozwiniętego wyjścia.
"str1" może zaczynać się od gwiazdki, w przypadku gdy dopasowuje wszystko od
początku rozwiniętego wyjścia do pierwszego wystąpienia pozostałej części str1.

Można również określić podciągi dla rozwinięcia.

    %PATH:~10,5%

rozwinie zmienną środowiskową PATH, a następnie użyje tylko 5 znaków
zaczynających się od 11-tego (przesunięcie 10) znaku rozwiniętego wyniku.
Jeśli długość nie jest określona, wtedy jest domyślnie resztą wartości
zmiennej. Jeśli także liczba (przesunięcie lub długość) jest ujemna, wtedy
używaną liczbą jest długość wartości zmiennej środowiskowej dodanej
do przesunięcia lub określonej długości.

    %PATH:~-10%

wyodrębni ostatnie 10 znaków zmiennej PATH.

    %PATH:~0,-2%

wyodrębni wszystkie oprócz ostatnich 2 znaków zmiennej PATH.

Ostatecznie, dodano obsługę opóźnionego rozwijania zmiennych środowiskowych.
Obsługa ta jest zawsze włączona domyślnie, ale może być włączana/wyłączana za
pomocą przełącznika wiersza polecenia /V dla programu CMD.EXE. Zobacz CMD /?

Opóźnione rozwijanie zmiennych środowiskowych jest użyteczne do omijania
ograniczeń bieżącego rozwinięcia, które mają miejsce gdy wiersz jest czytany,
a nie kiedy jest wykonywany. Następujący przykład przedstawia problem
z rozwinięciem zmiennej natychmiastowej:

    set VAR=przed
    if "%VAR%" == "przed" (
        set VAR=po
        if "%VAR%" == "po" @echo Jeśli to widzisz, to zadziałało
    )

nigdy nie wyświetli komunikatu, ponieważ %VAR% w instrukcjach BOTH IF jest
podstawiana, kiedy czytana jest pierwsza instrukcja IF, ponieważ logicznie
zawiera główne polecenie IF, które jest instrukcją złożoną. Dlatego IF
wewnątrz instrukcji złożonej faktycznie porównuje "przed" z "po", które nigdy
nie będą sobie równe. Podobnie, nie zadziała następujący przykład:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

w którym nie zostanie zbudowana lista plików w katalogu bieżącym, ale zamiast
tego zostanie ustawiona zmienna LIST na ostatni znaleziony plik. Dzieje się
tak, ponieważ zmienna %LIST% jest rozwijana tylko raz, kiedy czytana jest
instrukcja FOR, a w tym czasie zmienna LIST jest pusta.
Faktycznie wykonywaną pętlą FOR jest:

    for %i in (*) do set LIST= %i

która ustawia LIST na ostatni znaleziony plik.

Opóźnione rozwijanie zmiennych środowiskowych zezwala na używanie innego
znaku (wykrzyknik) do rozwijania zmiennych środowiskowych w czasie
wykonywania. Jeśli opóźnione rozwijanie zmiennych jest włączone, powyższe
przykłady można zapisać jak poniżej, aby zadziałały zgodnie z oczekiwaniami:

    set VAR=przed
    if "%VAR%" == "przed" (
        set VAR=po
        if "!VAR!" == "po" @echo Jeśli to widzisz, to zadziałało
    )

    set LIST=
    for %i in (*) do set LIST=!LIST! %i
    echo %LIST%

Przy włączonych rozszerzeniach poleceń istnieje kilka dynamicznych zmiennych
środowiskowych, które można rozwijać, ale które nie pojawiają się na liście
zmiennych wyświetlanych przy użyciu polecenia SET. Te wartości zmiennych są
obliczane dynamicznie za każdym razem, gdy wartość zmiennej jest rozwijana.
Jeśli użytkownik jawnie definiuje zmienną o jednej z tych nazw, definicja
ta zastępuje nazwę dynamiczną opisaną poniżej:

%CD% — rozwija do ciągu katalogu bieżącego.

%DATE% — rozwija do bieżącej daty, używając tego samego formatu co polecenie
         DATE.

%TIME% — rozwija do bieżącego czasu, używając tego samego formatu co
         polecenie TIME.

%RANDOM% — rozwija do losowej liczby dziesiętnej między 0 a 32767.

%ERRORLEVEL% — rozwija do bieżącej wartości ERRORLEVEL.

%CMDEXTVERSION% — rozwija do bieżącej liczby wersji rozszerzeń procesora
                  poleceń.

%CMDCMDLINE% — rozwija do oryginalnego wiersza polecenia, który wywołał
               procesor poleceń.

%HIGHESTNUMANODENUMBER% — rozwija do najwyższego numeru węzła NUMA
    na komputerze.

źródło: Pomoc systemowa Microsoft Windows 7 (help set)


Najczęściej czytane:

RecoveryMode czyli tryb awaryjny w Linux'e

Jeśli system Ubuntu nie uruchomi się z jakiegokolwiek powodu, to można posłużyć się trybem awaryjnym. W tym trybie system ładuje podstawowe usługi i udostępnia dostęp do te, co pozwala na zalogowanie się administratora. Uruchamianie w trybie awaryjnym Włącz komputer. Naciśnij i przytrzymaj klawisz Shift, który wyświetli menu GNU GRUB. (Jeśli pojawi się logo Ubuntu, przeoczyłeś punkt, w którym można wejść do menu GRUB-a.) Wybierz "linię kończącą się wpisem:  (Recovery Mode)  ", prawdopodobnie w drugiej linii, np: Ubuntu GNU / Linux, ze Linux 3.8.0-26-generic (recovery mode) Naciśnij klawisz Enter. Po kilku chwilach, stacja robocza powinna wyświetlić menu z kilkoma opcjami. Jedną z opcji (może trzeba przewinąć w dół do dołu listy) będzie "root         Przejdź do wiersza poleceń administracyjnych".  Naciśnij przycisk Powrót z tej opcji podświetlone. Partycja jest zamontowany tylko do odczytu. Aby zamontować go do odczytu / zapisu, wpisz polecen

Polecenie icacls

ICACLS nazwa /save plik_ACL [/T] [/C] [/L] [/Q]     zachowuje poufne listy kontroli dostępu (DACL) w pliku aclfile     dla wszystkich plików i folderów zgodnych z nazwą, do późniejszego użycia     z opcją /restore. Systemowe listy kontroli dostępu (SACL), właściciel     i etykiety integralności nie są zapisywane. ICACLS katalog [/substitute stary_Sid nowy_Sid [...]] /restore plik_ACL [/C]                [/L] [/Q]     stosuje zachowane listy DACL do plików w katalogu. ICACLS nazwa /setowner użytkownik [/T] [/C] [/L] [/Q]     zmienia właściciela wszystkich plików o zgodnych nazwach. Ta opcja nie     wymusza zmiany prawa własności, w tym celu należy użyć narzędzia     takeown.exe. ICACLS nazwa /findsid Sid [/T] [/C] [/L] [/Q]     wyszukuje wszystkie zgodne nazwy zawierające listy ACL jawnie wymieniające     identyfikator Sid. ICACLS nazwa /verify [/T] [/C] [/L] [/Q]     wyszukuje wszystkie pliki, których listy ACL nie są w postaci kanonicznej  

Wskazania dla użytkowników komputera, zapobiegające podobnym usterkom w przyszłości

Oto kilka standardowych pozycji które można umieszczać w pracy egzaminacyjnej praktycznego etapu egzaminu potwierdzającego kwalifikacje zawodowe w zawodzie technik informatyk Zapora połączenia internetowego musi by załączona lub w systemie musi działać  inny program typu firewall. Aktualizowanie na bieżąco systemu operacyjnego poprzez włączenie aktualizacji automatycznych W systemie powinien by zainstalowany programu antywirusowy w trybie monitora. Program ten musi automatycznie aktualizowana baza wirusów, W systemie musi działa program do wykrywania szkodliwego oprogramowania typu spyware chyba, że program antywirusowy udostępnia taką funkcję, Regularne skanowanie systemu aktualnym programem antywirusowym Świadome korzystanie z usług sieci Internet (nieodbieranie poczty od nieznanych nadawców), Nieużywanie konta z uprawnieniami administratora do normalnej pracy, Okresowe wykonywanie kopii zapasowych ważnych danych, Okresowe sprawdzenie stanu komputera i systemu poprz




Bestsellery z Helion.pl

Promocja Helion.pl