Hlavní strana   Zpět

Příklady dávkových souborů

 

Zde je uvedeno několik obsahů dávkových souborů. Aby fungovaly, musí být tento obsah vždy uložen do souboru s příponou .bat.



  1. Napište dávkový soubor, který vypíše základní údaje:
    • název počítače,
    • operační systém,
    • architekturu procesoru,
    • systémový disk,
    • systémový adresář (kde je nainstalován OS),
    • přihlášeného uživatele,
    • jeho profil.


    Řešení:

    @echo off
    echo Zakladni udaje:
    echo.
    echo Nazev pocitace:          %computername%
    echo Operacni system:         %os%
    echo Architektura procesoru:  %processor_architecture%
    echo Systemovy disk:          %systemdrive%
    echo Systemovy adresar:       %windir%
    echo Uzivatel:                %username%
    echo Uzivateluv profil:       %userprofile%


  2. Napište dávkový soubor, který najde všechny dočasné soubory na disku C: (mají příponu .tmp nebo ve svém názvu mají podřetězec tmp nebo temp anebo jsou v adresáři tmp nebo temp), seznam uloží do souboru docasne.txt


    Řešení:

    @echo off
    c:
    cd\
    dir /s /b | find /i "tmp" > docasne.txt


  3. Napište dávkový soubor, jehož účelem bude slučovat obsah všech souborů s definovanými připonami v pracovním adresáři do jediného souboru. V pracovním adresáři vytvořte soubor celek.dat, který bude obsahovat:
    • hlavičku, ve které bude napsáno, o jaký soubor jde,
    • obsah všech souborů s příponou .cpp, .c a .txt v tomto adresáři,
    • před každým z těchto vložených souborů bude hlavička určující tento soubor.


    Řešení:

    @echo off

    echo Tento soubor obsahuje vse ze souboru s příponou .cpp, .c a .txt. > celek.dat
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> celek.dat
    echo. >> celek.dat

    for %%s in (*.cpp *.c *.txt) do echo %%s >> celek.dat & echo. >> celek.dat & type %%s >> celek.dat

    echo Obsah vsech souboru s priponou .cpp, .c a .txt je v souboru celek.dat.


  4. Napište dávkový soubor, který může mít jakýkoliv počet parametrů. Všechny tyto parametry uložte postupně všechny do souboru param.txt na disku Z: v kořenovém adresáři.


    Řešení:

    @echo off

    z:
    cd\

    echo Parametry davkoveho souboru: > param.txt
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> param.txt

    :cyklus
    if "%1"=="" goto :konec
    echo %1 >> param.txt
    shift
    goto :cyklus

    :konec


  5. Napište dávkový soubor, který zobrazí nabídku vybraných programů a umožní spustit některý program z této nabídky.


    Řešení:

    @echo off
    :zacatek
    cls
    echo.
    echo.
    echo.
    echo     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    echo     x  A. Textový editor           x
    echo     x  B. Správce souborů          x
    echo     x  C. Kreslení                 x
    echo     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    echo     x  K. Konec                    x
    echo     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    echo.
    echo.

    set /p vysledek=Stiskněte některou z kláves A, B, C, K (velká písmena):
    if "%vysledek%"="A" goto :text
    if "%vysledek%"="B" goto :soub
    if "%vysledek%"="C" goto :kres
    if "%vysledek%"="K" goto :konec
    goto :zacatek

    :text
    notepad.exe
    goto :zacatek

    :soub
    explorer.exe
    goto :zacatek

    :kres
    mspaint.exe
    goto :zacatek

    :konec


  6. Napište dávkový soubor, ve kterém zformátujete disk D: - nejdřív se zeptejte uživatele, jestli to opravdu myslí vážně, a až po jeho souhlasu spusťte formátování. Ošetřete některé chyby, které mohou nastat (vypište o nich chybové hlášení).


    Řešení:

    @echo off

    set /p souhlas=Chcete opravdu formatovat disk D:? Stisknete A/N

    if "%souhlas%"="A" goto :formatovat
    if "%souhlas%"="a" goto :formatovat
    goto :konec


    :formatovat
    format d:

    if errorlevel 4 echo Zavazna chyba & goto :chyba
    if errorlevel 3 echo Prerusili jste formatovani pomoci Ctrl+C & goto :chyba

    echo Vsechno je OK
    goto :konec

    :chyba
    echo Formatovani se nezdarilo.

    :konec