Cyklus se stanoveným počtem opakování

Ostatní jazyky Příkazový řádek a dávkové soubory Cyklus se stanoveným počtem opakování

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V dnešním díle seriálu se naučíme programovat cykly se stanoveným počtem opakování v Batch, tedy v dávkových souborech systému Windows.

Takže, pojďme si vytvořit program, který nám vypíše čísla od jedné do deseti. Výpis čísel bude s řádkem navíc nebo nějakou jinou věcí ;-)

Začneme jako obvykle:

@ echo off
title Vypisovac čísel do deseti
cd
cls

Poslední 2 řádky dělají následující

1. cd - nastaví cestu na složku, ze které program právě běží, to nám umožní namísto... C:\Users\...\tex­tovysoubor.txt napsat rovnou textovysoubor.txt, samozřejmě pokud se nachází ve složce s programem 2. cls - vyčistí obrazovku

A teď přejděme k samotnému cyklu:

for %%a IN (1 2 3 4 5 6 7 8 9 10) do (
echo %%a
echo.
)

Pojďme si ho popsat. Je celkem jednoduchý. V prvním řádku cyklus definujeme. for je příkaz pro cyklus, %%a je proměnná cyklu, která musí být ve formátu %%pismeno-od-a-do-z, pak jde IN a do závorek dáme nějaké hodnoty (mohou tam být čísla jako ve zdrojovém kódu nebo cesta k nějakému souboru) Takže nakonec rekapitulace:

@ echo off
title Vypisovac čísel do deseti
cd
cls

for %%a IN (1 2 3 4 5 6 7 8 9 10) do (
echo %%a
echo.
)

Tak a máme hotovo. Výsledek by měl vypadat nějak takto.

Zkuste se s tím trochu pohrát abyste si to zapamatovali. Dám vám domácí úkol - zkuste si vytvořit program, který vám vypíše násobilku.

Příště si ukážeme základy práce se soubory.


 

Stáhnout

Staženo 406x (85 B)
Aplikace je včetně zdrojových kódů v jazyce Batch

 

 

Článek pro vás napsal ...
Avatar
Jak se ti líbí článek?
2 hlasů
Autor sa venuje programovaniu v C#, Batch-i a učí sa programovať web.
Aktivity (1)

 

 

Komentáře
Zobrazit starší komentáře (15)

Avatar
...
Redaktor
Avatar
...:10.4.2014 14:42

Poznam :D

Odpovědět 10.4.2014 14:42
Nehovor čo vieš, ale snaž sa vedieť, čo hovoríš...
Avatar
Ondrca
Redaktor
Avatar
Ondrca:15.5.2014 20:51

proč tak složitě?

@echo off
:zacatek
echo %random > %random%
goto zacatek

Ale nechal jsem to běžet trochu dýl něž ty :D

Odpovědět 15.5.2014 20:51
Zase jsem o něco chytřejší
Avatar
Tomáš Brůna
Redaktor
Avatar
Tomáš Brůna:7.1.2015 17:00

Ahoj jak mám udělat program: když uživatel stiskne WinKey tak mu naskáče milion barevných okýnek(jako u win 8) :-D

Odpovědět 7.1.2015 17:00
Lepší být šprt než blbec :)
Avatar
Tomáš Pařízek:1.7.2016 15:28

rem Wait 3000 ::Počet milisekund v tomto případě 3 sekundy
exit

 
Odpovědět 1.7.2016 15:28
Avatar
Odpovídá na Tomáš Brůna
Tomáš Pařízek:1.7.2016 15:34

Popiš prosím přesněji co konkrétně potřebuješ.
Pro mě není v Batchi nic broblém.

 
Odpovědět 1.7.2016 15:34
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na Tomáš Pařízek
Tomáš Brůna:1.7.2016 15:49

ahoj, šlo mi o to, jak zachytit stisk určité klávesy. Například že pokud stisknu F5, tak vyskočí msgbox

Odpovědět 1.7.2016 15:49
Lepší být šprt než blbec :)
Avatar
mkub
Redaktor
Avatar
Odpovídá na Tomáš Brůna
mkub:1.7.2016 16:07

myslim, ze v BATCHi je to nemozne priamo zachytit scankod
v case MS-DOSu sa to dalo pomocou ovladaca ANSI.SYS vytvorit spustacie menu, ale to nebola vlastnost BAT suborov

a okrem toho BATCH nie je vhodny na vytvaranie programov, skor sa pouziva na jednoduche skripty
a okrem toho, ak uzivatel stlaci CTRL+C, prerusi vykonavanie scriptu,
to by som radsej siel do Pascalu :)

 
Odpovědět 1.7.2016 16:07
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na mkub
Tomáš Brůna:1.7.2016 16:12

já vím, ale v době kdy jsem se ptal jsem to nevěděl. Ale díky za odpověd :)

Odpovědět 1.7.2016 16:12
Lepší být šprt než blbec :)
Avatar
mkub
Redaktor
Avatar
Odpovídá na Tomáš Brůna
mkub:1.7.2016 16:22

ale da sa to obist, ze si prichystas utilitku, ktora by zachytavala scankod a by generovala errorlevel pri stlaceni klavesu a pomocou neho a ifov by si mohol spustat msgbox

 
Odpovědět  +1 1.7.2016 16:22
Avatar
Odpovídá na Tomáš Brůna
Tomáš Pařízek:3.7.2016 11:54

choice /c:210 /n

Tato funkce sebere číslo a vloží do proměnn errorlevel

 
Odpovědět  +1 3.7.2016 11:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 25. Zobrazit vše