Config.sys i przetwarzanie wsadowe
PLIK KONFIGURACYJNY „CONFIG.SYS”
Zadaniem tego pliku jest ustawienie wielu parametrów pracy systemu, których nie można zdefiniować w inny sposób, dlatego znaczenie tego pliku jest ogromne.
W pliku CONFIG.SYS umieszczamy m.in.:
- programy obsługi niestandardowych urządzeń, np. myszy;
- niektóre parametry systemu operacyjnego, np. format wyświetlanego czasu i daty, liczbę buforów w pamięci przy operacjach zapis/odczyt dysku, ilość plików, do których system operacyjny może mieć jednocześnie dostęp;
- organizację pamięci operacyjnej powyżej 640 kB.
W pliku konfiguracyjnym użytkownik przekazuje dla MS-DOS-u informacje, z jaką konfiguracją systemu chciałby pracować. Jest to jak gdyby szereg poleceń, które powiadamiają MS-DOS o tym, co chcemy, aby było uwzględnione. Ponieważ konfiguracja jest istotna dla środowiska pracy MS-DOS-u, więc interpretacja pliku konfiguracyjnego jest jednym z pierwszych zadań po załadowaniu systemu. Są to pierwsze polecenia, które system wydaje sam sobie zgodnie z plikiem konfiguracyjnym i zanim my będziemy mogli wydawać mu nasze polecenia.
W pliku konfiguracyjnym możemy określić np. liczbę i wielkość dysków wirtualnych w pamięci RAM, liczbę buforów pamięci potrzebnych do wymiany danych między dyskami a pamięcią operacyjną, czy chociażby tzw. kod kraju, od którego zależy format wyświetlania daty i czasu.
Po uruchomieniu MS-DOS szuka automatycznie pliku CONFIG.SYS, ale tylko w katalogu głównym. Jeśliby plik CONFIG.SYS był w innym katalogu, to nie zostanie odnaleziony. W razie odnalezienia pliku konfiguracyjnego jest on interpretowany i ewentualnie standartowe ustawienia zostają zmienione zgodnie z poleceniami konfiguracyjnymi.
Jeżeli pliku CONFIG.SYS nie ma w katalogu głównym, to i tak MS-DOS skonfiguruje system w taki sposób, że na ogół wystarczy to do zwykłej pracy z systemem. MS-DOS po prostu skorzysta ze standartowych ustawień składowych systemu.
Istnieje wiele sposobów utworzenia plików konfiguracyjnego CONFIG.SYS. Możemy w tym celu skorzystać z dowolnego edytora tekstu lub z systemowego edytora całostronicowego EDIT. W przypadku korzystania z innych edytorów tekstu niż EDIT należy zwrócić uwagę, aby generować czysty plik typu ZSCII, tzn. bez żadnych znaków sterujących.
Jak powinien wyglądać plik CONFIG.SYS (opis może się niewiele różnić - zależnie od systemu)?
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) [1]
country=048,852,C:\WINDOWS\COMMAND\country.sys [2]
lastdrive=[litera dysku] [3]
device=[ścieżka] [4]
device=[ścieżka] [5]
[1] - ładowanie sterownika DISPLAY odpowiedzialnego za wyświetlanie obrazu
[2] - konfiguracja kraju (m.in. sposób wyświetlania daty i czasu). W przypadku Polski numer ten wynosi 048,852
[3] - linijka ta określa na ile maksymalnie liter system musi zarezerwować pamięć do nazywania dysków, np. lastdrive=G zarezerwuje pamięć dla ośmiu dysków (od A do G). W tym przypadku jeśli CD-ROM miałby literę H, system nie widziałby go. Dzięki ograniczeniu zakresu liter używanych do nazywania dysków możemy oszczędzić pamięć, jednak nie przynosi to zbyt wiele oszczędności, choć zdarzają się przypadki kiedy należy do zrobić. Należy jednak ustawiać tą opcję z umiarem, ponieważ zbyt "skąpe" ustawienie spowoduje, że niektóre napędy nie będa widziane. Najlepiej ustawić o jedną literę więcej niż aktualnie posiadamy, co zapewni obsługę wszystkich napędów
[4] - sterowniki do CD-ROM-u, myszki i innych urządzeń
[5] - inne sterowniki i wywoływane programy
Wyjaśnienie znaczenia kilku podstawowych – niezbędnych poleceń systemu:
FILES=
Ilość plików Określa maksymalną ilość plików, do których jednocześnie może mieć dostęp system operacyjny. Możliwe są wartości od 8 – 255, przy czym, jeśli nie wprowadzimy żadnej wartości, standardowo zostanie przyjęte 8. polecenie to jest konieczne, jeśli współpracujemy z programami używającymi wiele plików, np. z bazami danych.
BUFFERS=
Ilość buforów Ustawia ilość buforów używanych przy operacjach zapis/odczyt dysku. Każdy bufor zajmuje 512 kB pamięci. Zwiększając ilość buforów, przyspieszamy operacje dyskowe, odbywa się to jednak kosztem zmniejszenia ilości pamięci na inne programy. Jeśli nie wprowadzimy żadnej wartości, to standardowo zostanie przyjęta wartość 15.
COUNTRY
Kod kraju,
numerr tablicy kodów Ustawia specyficzny dla każdego kraju sposób wyświetlania daty i czasu oraz znaki alfabetu. Jako parametry tego polecenia podaje się:
*kod kraju – m.in. USA ma kod 001, Polska ma kod 048
*numer tablicy kodów (strona kodowa)
DEVICE Wczytuje do pamięci program obsługi dodatkowego urządzenia zewnętrznego (tzw. sterownik programowy), np. mysz
SETVER. EXE Polecenie to przyporządkowuje wersję systemu nieco przestarzałemu programowi
BREAK Polecenie BREAK określa, czy programy i inne polecenia mogą być przerwane w czasie dostępu do dysku za pomocą kombinacji klawiszy Ctrl-C. Tylko przy ustawieniu BREAK ON takie przerwanie jest możliwe: BREAK=ON
PRZETWARZANIE WSADOWE
Programowanie wsadowe dotyczy tworzenia tzw. plików wsadowych, którym nadawane jest rozszerzenie BAT. Umożliwia nam to:
- podawanie kolejnych poleceń (bez wykonywania ich od razu);
- zapisanie ich w pliku o podanej nazwie z rozszerzeniem BAT;
- wykonanie zdefiniowanego pliku, podając jego nazwę
System DOS zawiera szereg specjalnych instrukcji, które mogą być użyte w plikach wsadowych. Miedzy innymi są to:
PAUSE Zawieszenie wykonywania pliku do chwili naciśnięcia dowolnego
klawisza
ECHO OFF Wykonywane polecenia pliku wsadowego nie będą wyświetlane na
ekranie
ECHO ON Wykonywane polecenia pliku wsadowego będą wyświetlane na ekranie
ECHO komunikat Wyświetlenie na ekranie podanego komunikatu
REM komentarz Umieszczony pod REM komentarz jest ignorowany przez system operacyjny; jest to informacja dla użytkownika
PLIK WSADOWY „AUTOEXEC.BAT”
Jego przeznaczeniem jest ułatwienie pracy użytkownikowi, wykonanie za niego tych czynności, które musiałby wykonać sam po zgłoszeniu się systemu. Często ostatnim poleceniem w pliku AUTOEXEC.BAT jest nazwa programu, który zostanie automatycznie wykonany. Dla księgowej może to być nazwa pliku uruchamiającego arkusz kalkulacyjny, natomiast dla dziennikarza wybrany edytor tekstu. Najczęściej jednak spotykamy tutaj polecenie wykonujące alternatywnie dwa programy: Norton Commander (NC.EXE) lub MS Windows (WIN.EXE).
Autoexec.bat
GOTO%CONFIG%
:WINDOWS PATH \WINDOWS\COMMAND\WIN.EXE
GOTO %WINDOWS%
:LINUX PATH \LINUX\COMMAND\LIN.SYS
GOTO %LINUX%
:BIUROWE C:\PROGRAM FILES\EXEL\EXEL.EXE
GOTO %EXEL%
BIUROWE:C:\PROGRAM FILES\WORD\WORD.EXE
GOTO%WORD%
REM[UTWÓRZ ZNACZNIK SYSTEMU POSTACI
my computer
C:\>]
USPRAWNIANIE KOMUNIKATÓW PROGRAMU WSADOWEGO
W programie wsadowym można wprowadzić sygnalizację dźwiękową. Do tekstu komunikatu generowanego można ją wprowadzić poprzez polecenie CHOICE. W ten sposób można sprawić, by program wsadowy wyświetlając ważny komunikat, generował równocześnie sygnał dźwiękowy. Jeśli do tworzenia programów wsadowych używamy edytora EDIT, wówczas należy wprowadzić z klawiatury polecenie ECHO, po nim spację i komunikat. Zanim jednak naciśniemy Enter, żeby przejść do następnego wiersza, należy wstawić znak sterujący Ctrl+G. Będąc w edytorze EDIT wstawiamy ten znak, wykonując następujące kroki:
1) naciskamy Ctrl+P (umożliwia to użycie klawisza Alt do wprowadzenia znaku sterującego ASCII);
2) naciskamy i przytrzymujemy w położeniu wciśniętym klawisz Alt;
3) z klawiatury numerycznej wprowadzamy 007 (kod ASCII dla Ctrl+G);
4) zwalniamy klawisz Alt
Na ekranie wyświetlany będzie teraz znak dużej kropki (•), jak w następującym przykładzie:
ECHO Files will be overwritten! •
W późniejszym używaniu tego programu wsadowego, każde wyświetlenie na ekranie związanego z nim komunikatu spowoduje wygenerowanie przez DOS sygnału dźwiękowego. Metoda ta wykorzystywana jest często przez programy do zwracania uwagi i ostrzegania przed potencjalnym problemem.
Z kolei, jeśli chcemy, żeby program wsadowy wyświetlił na ekranie pusty wiersz, po poleceniu ECHO należy wstawić kropkę (bez pustych spacji).
PROGRAM WSADOWY DO PRZENOSZENIA PLIKÓW DO NOWEGO KATALOGU
Program wsadowy o nazwie SAFEMOVE.BAT jest programem, który przenosi pliki z jednego katalogu do innego. Ten sam cel można osiągnąć wykorzystując po prostu polecenie MOVE . Program SAFEMOVE.BAT pod pewnymi względami jest nieco obsesyjny w swojej dbałości o środki ostrożności. Usuwa on pliki źródłowe z ich oryginalnego katalogu i mógłby nimi nadpisać pliki istniejące w katalogu docelowym, dlatego ostrożność taka nie zawadzi. Program ten zapewnia ochronę istniejących plików tylko wtedy, kiedy przenosimy pliki z katalogu bieżącego do innego katalogu. Jeżeli wraz z nazwą pliku źródłowego podamy literę innego katalogu, w którym znajduje się ten plik, polecenie IF NOT EXIST GOTO Movelt przekazuje zawsze sterowanie do etykiety :Movelt.
Jeżeli np. wprowadzimy polecenie
SAFEMOVE C:\WP\WPFILES\SALEMEO.DOC\SALES,
aby przenieść plik SALEMEMO.DOC z katalogu \WP\WPFILES do katalogu \SALES, polecenie IF zostanie zinterpretowane jako
IF NOT EXIST\SALES\C:\WP\WPFILES\SALEMEMO.DOC GOTO Movelt.
Taka dziwaczna nazwa pliku z pewnością nie może istnieć, a więc sterowanie przekazane zostaje do etykiety :Movelt.
Aby uniknąć podobnej wpadki należy przejść najpierw do katalogu \WP\WPFILES, wprowadzajć z promptu polecenia polecenie CD \WP\WPFILES. Jeśli tego nie uczynimy, program SAFEMOVE.BAT i tak przeniesie pliki źródłowe do właściwego katalogu docelowego, ale nadpisze nimi wszelkie pliki o tych samych nazwach istniejące już w katalogu docelowym.
Aby uniknąć nadpisywania plików istniejących w katalogu docelowym i uczynić program SAFEMOVE.BAT jeszcze bezpieczniejszym, można tak zmodyfikować procedurę Movelt, aby zamiast polecenia MOVE wykorzystywała polecenie COPY, a po nim polecenie ERASE. Alternatywnie do modyfikowania programu SAFEMOVE.BAT można skopiować program SAFEMOVE.BAT do nowego pliku o nazwie SAFER.BAT, a następnie wprowadzić stosowne zmiany do SAFER.BAT. w tym celu należy wprowadzić z promptu polecenia polecenie COPY SAFEMOVE SAFER.BAT. następnie wprowadzić polecenie EDIT SAFER.BAT i dokonać w pliku SAFEMOVE.BAT odpowiednich zmian.
POWTARZANIE POLECEŃ W PROGRAMIE WSADOWYM
Jedną z efektownych technik, którą można zastosować w programie wsadowym, jest „zapętlanie”. Zapętlanie umożliwia kilkakrotne powtarzanie określonego polecenia. Poleceniem wprowadzającym zapętlanie jest FOR. Jego ogólna składnia jest zazwyczaj następująca:
FOR %%litera IN (pozycje) DO polecenie
,gdzie litera jest pojedynczą literą alfabetu (od a – z lub od A – Z), pozycje to albo lista pozycji oddzielonych pustymi spacjami, albo globalna nazwa pliku, natomiast polecenie to polecenie wykonywane podczas każdego przejścia prze pętlę.
Przy każdym wykonaniu pętli, zienna %%litera przyjmuje albo następną wartość z listy pozycji, albo następną nazwę pliku z listy reprezentowanej globalną nazwą pliku.