MS-DOS - zadania wsadowe (pliki BAT)
call |
choice |
echo |
exit |
for |
goto |
if |
shift
Przykład | Przykład użycia FOR | Przykład użycia CHOICE | Parametry Wywołuje jeden program wsadowy z innego CALL [dysk:][ścieżka]nazwa_pliku [parametry]
Po wykonaniu wywołanego programu wsadowego sterowanie przechodzi do następnego polecenia w programie wywołującym. Czeka aż użytkownik wybierze jeden z zestawów wyborów CHOICE [/C[:]wybory][/N] [/S] [/T[:]z,nn] [tekst]
Parametrowi ERRORLEVEL jest nadawana wartość odpowiadająca numerowi klawisza naciskanego przy wyborze. Wyświetla komunikaty lub włącza/wyłącza wyświetlanie poleceń ECHO [ON | OFF] ECHO [komunikat] ECHO [.] ECHO bez parametrów wyświetla bieżące ustawienie polecenia. Przerywa bieżący skrypt wsadowy [od Windows 2000] EXIT Wykonuje określone polecenie dla wszystkich plików ze zbioru plików FOR %zmienna IN (zbiór) DO polecenie [parametry]
Aby użyć polecenia FOR w programie wsadowym, wpisz %%zmienna zamiast %zmienna. W nazwach zmiennych rozróżnia się małe i wielkie litery, tak więc %i różni się od %I. Kieruje program do oznaczonego etykietą wiersza w programie wsadowym GOTO etykieta
Etykietę należy wpisać w oddzielnym wierszu zaczynającym się od dwukropka. Wykonuje warunkową instrukcję w programach wsadowych IF [NOT] ERRORLEVEL liczba polecenie IF [NOT] ciąg1==ciąg2 polecenie IF [NOT] EXIST nazwa_pliku polecenie
Przykłady: IF EXIST nazwa_pliku del nazwa_pliku IF ERRORLEVEL 3 goto okay IF (%1)==() 3 goto koniec Przesuwa parametry w pliku wsadowym o jedną pozycję w lewo SHIFT Zmienia pozycję parametrów programu wsadowego, co pozwala na stosowanie więcej niż 10 podstawowych. Programy wsadowe obsługują 9 parametrów (od %1 do %9), podawanych przy uruchamianiu, po nazwie pliku oddzielonych od siebie spacją. Nazwa pliku jest oznaczana jako parametr 0 - %0. Po poleceniu SHIFT parametr %0 jest zapominany, jego miejsce zajmuje %1. Natomiast parametrem %1 zostaje dawny %2 itd. (Wartości parametrów przesuwane są w lewo). %9 przyjmuje wartość %10 - nieużywanego, ale pamiętanego. Przykład: Plik.bat bat com exe - Uruchomienie programu z trzema parametrami :KOPIOWANIE If "%1"=="" GOTO END - Jeżeli nie ma parametru %1, przeskok do etykiety END COPY A:\*.%1 C:\ - Kopiowanie plików z rozszerzeniem określonym parametrem %1 SHIFT - Przesunięcie parametrów. GOTO KOPIOWANIE :END Przykłady użycia poleceń w zadaniach wsadowych: @ECHO OFF polecenie umieszczone zazwyczaj na początku pliku wsadowego powoduje, że nie są wyświetlane polecenia zadania oraz samo polecenie ECHO @ analogicznie do ECHO OFF, jednak odwołuje się tylko do linii, którą poprzedza IF EXIST c:\plik.txt DEL c:\ plik.txt jeżeli istnieje c:\plik.txt, to jest kasowany IF NOT EXIST c:\katalog\NUL MD c:\katalog jeżeli nie istnieje c:\katalog, to jest zakładany IF "%1"=="*.*" GOTO ALL jeżeli 1-szym parametrem linii wywołania jest *.*, to przejście do etykiety ALL CHOICE /C:JDT Jeden Dwa Trzy /N /T:J,20 IF ERRORLEVEL 3 GOTO TRZY IF ERRORLEVEL 2 GOTO DWA IF ERRORLEVEL 1 GOTO JEDEN wyświetlenie komunikatu: Jeden Dwa Trzy i przejście do odpowiedniej etykiety w zależności od wciśniętego klawisza (J - JEDRN, D - DWA, T - TRZY). Jeśli przez 20 sekund nie zostanie wciśnięty żaden klawisz, to zadanie przejdzie do etykiety JEDEN Przykłady użycia polecenia FOR w zadaniu wsadowym: Wykonanie polecenia TYPE dla plików z rozszerzeniem .DOC i .DOT: FOR %%M IN (*.DOC * .DOT) DO TYPE %%M Usunięcie wszystkich plików z rozszerzeniem BAK w bieżącym katalogu: FOR %%X IN (*.BAK) DO del %%X Wyświetlenie 5 linii z napisem linia nr (1-5): FOR %%A IN (1 2 3 4 5) DO echo linia nr %%A Wydrukowanie wszystkich plików *.PRN z katalogu głównego dysku C: FOR %%i IN (C:\*.PRN) DO PRINT %%i Zakładanie 3 katalogów o ile już nie istnieją: FOR %%i IN (Jeden Dwa Trzy) DO IF NOT EXIST %%i\NUL MKDIR %%i Przykład programu wsadowego z wykorzystaniem polecenia CHOICE w celu wybrania jednego z trzech programów: @echo off cls echo. echo A Program nr 1 echo B Program nr 2 echo C Program nr 3 echo. choice /c:abc Wybierz opcję if errorlevel 3 goto Program_1 if errorlevel 2 goto Program_2 if errorlevel 1 goto Program_3 :Program_1 program_1 goto Koniec :Program_2 program_2 goto Koniec :Program_3 program_3 :Koniec
Pliki wsadowe mogą być wywoływane z parametrami: PLIK.BAT Parametr1 Parametr2 ... Np.: Plik.bat AA BBB Przykłady użycia parametrów w zadaniu wsadowym: IF %1==wartość GOTO etykieta sprawdzenie czy parametr pierwszy %1 równa siędanej wartości. Jeżeli plik został wywołany bez parametrów, linia ta spowoduje wypisanie błędu składni IF "%1"=="wartość" GOTO etykieta analogicznie do poprzedniego, ale brak parametru nie spowoduje błędu IF %1X==X komenda jeżeli program został wywołany bez parametrów, wykonywana jest komenda IF "%1"=="" komenda jak wyżej COPY A:\%1 C:\ wykorzystanie parametru do operacji kopiowania
|