Tworzymy skrypt startowy do konsoli (cmd.exe)
#1
Zanim zaczniemy tworzyć nasz własny skrypt startowy (napisany w batchu (*.bat | *.cmd)., powinniśmy zaznajomić się z pojęciem zmiennych środowiskowych/globalnych.

Zmienne środowiskowe/globalne (zacytuję Wikipedię):

Cytat:Zmienna środowiskowa to nazwana wartość, zazwyczaj zawierająca ciąg znaków, przechowywana i zarządzana przez powłokę. Zmienna środowiskowa może wpływać na działanie procesów uruchamianych w systemie operacyjnym i wtedy staje się pewnym mechanizmem komunikacji lub też przechowywać wartość w celu jej późniejszego wykorzystania.
W systemach uniksowych, a także w systemach DOS i Windows każdy proces posiada swój zestaw zmiennych środowiskowych. Nowo tworzony proces dziedziczy zmienne środowiskowe swojego procesu rodzicielskiego, chyba że ten ostatni zmieni wartości niektórych z nich podczas tworzenia procesu potomnego.
Zmienne środowiskowe odgrywają ważną rolę i większość programów uzyskuje różne parametry poprzez zmienne środowiskowe.

W systemach z rodziny Windows (którymi się w tym temacie zajmę) znajdują się w rejestrze (gałąź HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment).

Skrypt startowy
Krótko mówiąc, jest to skrypt, który przyda się każdemu programiście. Prócz prostej personalizacji konsoli (kolorki, prompt) będziemy mogli dodawać do niej własne programy (pewnie źle to określiłem, ale ciężko mi się o tym wysłowić(?)). Tutaj jest mój skrypt:


Kod:
@echo off
color a

rem python
set PATH=%PATH%;C:\Python27;

rem confusio
set PATH=%PATH%;C:\Program Files\Confusio

rem SysInternals
set PATH=%PATH%;C:\Users\Gabriel\Desktop\Programowanie\SysInternals tool

rem C# command line interpreter
set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

prompt camed:windows$g

Przeanalizujmy po kolei co się tu dzieje.
Pierwsza linijka: @echo off - dzięki tej komendzie konsola za każdym razem jak startuje, nie będzie pokazywała wykonanych operacji.
Kolejna: color a - ustawiam tu kolor tekstu mojej konsoli (wartości od 0 do F, w systemie hexadecymalnym).
Kolejna: rem python - jest to coś w stylu komentarza, zwiększa czytelność skryptu
Kolejna: set PATH=%PATH%;C:\Python27 - tu zaczyna się coś ciekawszego. Za pomocą komendy set mamy możliwość operacji na zmiennych środowiskowych. Wpisując set w konsoli otrzymamy listę naszych zmiennych globalnych:

[Obrazek: IUUM0zB.png]

Kontynuując, za pomocą set mamy możliwość ustawiania zmiennych globalnych. Ustawiamy więc zmienną PATH na jej dotychczasową wartość (PATH=%PATH%;), i dodajemy ścieżkę, z dodatkowymi "programami" (w moim przypadku C:\Python27). Trzeba zwrócić uwagę, że nie ma tam żadnych spacji, przypisanie dotychczasowej wartości oznaczamy procentami (%PATH%). Nie można też zapomnieć o  znajdującym się tuż za %PATH%. Bez tego nasz skrypt nie będzie działał poprawnie.

Następne linijki są analogiczne do tu już opisanych, prócz ostatniej, czyli prompt camed:windows$g. Ustawiam za jego pomocą prompt (znak zachęty?) na swój własny, czyli camed:windows>, co widać już na poprzednim zrzucie ekranu ($g odpowiada za >).

Teraz, gdy nasz skrypt jest gotowy zapisujemy go jako .bat. Wrzucamy do jakiegoś folderu (u mnie C:\Windows\script). Teraz, by skrypt działał przy każdym uruchomieniu konsoli, musimy dodać go do rejestu. W tym celu otwieramy edytor rejestru, i do klucza HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor dodajemy nową wartość ciągu o nazwie AutoRun o wartości będącej ścieżką do naszego skryptu.

[Obrazek: 89vxwjt.png]

Wówczas, nasz skrypt startowy będzie uruchamiany przy każdym starcie konsoli.

To by było na tyle Beer
0x DEADBEEF
Odpowiedz




Użytkownicy przeglądający ten wątek: 1 gości