Pliki tego typu mogę być użyte w wielu miejscach podczas naszej instalacji nienadzorowanej, takich jak cmdlines.txt, svcpack.inf, RunOnceEx lub też [GuiRunOnce] w winnt.sif.
Aby zacząć zabawę z plikami typu batch nalzęzy pamiętać iż obsługują one wszystkie polecenia Wiersza Poleceń. (Aby uruchomić systemowy wiersz poleceń należy wejść w Start>>Uruchom>>wpisać cmd>>nacisnąć enter).
Ok, to spróbujmy stworzyć mały plik typu batch, otwieramy systemowy notatnik i kopiujemy do niego poniższy tekst.
Kod:
@echo off
title Test pliku Batch
echo Witaj
echo.
echo uruchamiam MS Paint
start mspaint
echo.
echo uruchamiam Wordpad
start Wordpad
echo.
pause
exit
Zapisz to teraz jako plik o dowolnej nazwie ale koniecznie z rozszerzeniem .cmd. Kliknij na nim dwukrotnie, a to jest co powinno się ukazać:
...oraz powinien się nam otworzyć systemowy Ms Paint oraz Wordpad.
Opiszmy zasadę działania tego co przed chwilą zrobiliśmy:
@echo off - Ukrywa C:\> oraz inne komendy zawarte w naszym pliku.
echo. - Robi jedną linijkę odstępu.
echo wiadomość - Powoduje wyświetlenie tejże wiadomości, komenda używana zazwyczaj w celach informacyjnych.
title - Nadaje nazwę uruchomionego okna.
start - Uruchamia wybraną aplikację.
pause - Wyświetla "Press any key to continue..." (naciśnij dowolny klawisz aby kontynuować...)
exit - Wyłącza pracę Wiersza Poleceń.
sleep x - Powoduje przerwę w działaniu na x sekund.
cmdow @ /hid - Ukrywa okno Wiersza Poleceń.
Kiedy już nabierzesz wprawy w tworzeniu tego rodzaju plików napewno będziesz chciał skorzystać z możliwości instalacji oprogramowania, a wtedy zouważysz iż zazwyczaj składnia wygląda podobnie do:
Kod:
start "" /wait %systemdrive%\install\aplikacja\setup.exe /przełącznik /inny_przełącznik
start - uruchamia proces instalacji wybranego programu
/wait - powoduje oczekiwanie na zakończonie procesu instalacji danego programu, zanim zostanie wykonana następna linijka programu batch (bardzo ważne, zapobiega uruchomieniu wszystkich programów instalacyjnych w tym samym czasie, co może powodować konflikt)
sleep - niektóre programy są oporne na polecenie /wait, w takich przypadkach należy użyć sleep
Kiedy już zrozumiesz zasadę ich działania zapraszam do zapoznania się ze składnią przykładów znajdujących się tutaj.
Gdzie powinniśmy umieśić plik typu batch podczas instalacji nienadzorowanej?
Jeżeli nasz plik batch wywołujemy z poziomu [GuiRunOnce], możesz go umieścić w dowolnym katalogu $OEM$ oraz podać do niego pełną ściężkę, na przykład jeśli umieścisz swój plik w C:\XPCD\$OEM$\$1\install\ w pliku winnt.sif ściezka dostępu powinna wyglądać tak:
Kod:
[GuiRunOnce]
%systemdrive%\install\twój_plik_batch.cmd
(wszystko co znajduje się w katalogu $OEM$/$1 zostanie skopiowane na Twój %systemdrive%, więcej w temacie Zaczynamy)
Jeśli natomiast jest on uruchamiany z poziomu cmdlines.txt plik batch umieszczamy razem z plikem (w tym samym katalogu) cmdlines.txt w katalogu $OEM$ ponieważ system podczas instalacji właśnie tam będzie go szukał.
Jeżeli uruchamiany jest poprzez svcpack.inf, plik batch powinien znajdować się w katalogu C:\XPCD\I386\svcpack\, a sam plik svcpack.inf w C:\XPCD\I386\ (upewnij się, że svcpack.in_ jest skasowany)