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 a nebo jsou v adresáři tmp nebo temp), seznam uloží do souboru c:\docasne.txt

     

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

     


  3. Napište dávkový soubor, 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 .pas, .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 .pas, .c a .txt. > celek.dat
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> celek.dat
    echo. >> celek.dat
    
    for %%s in (*.pas *.c *.txt) do echo %%s >> celek.dat & echo. >> celek.dat & type %%s >> celek.dat
    
    echo Obsah vsech souboru s priponou .pas, .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