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í

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 394x (85 B)
Aplikace je včetně zdrojových kódů v jazyce Batch

 

  Aktivity (1)

Článek pro vás napsal ...
Avatar
Autor sa venuje programovaniu v C#, Batch-i a učí sa programovať web.

Jak se ti líbí článek?
Celkem (2 hlasů) :
4444 4


 



 

 

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

Avatar
...
Redaktor
Avatar
...:

Poznam :D

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

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:

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:

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

 
Odpovědět 1. července 15:28
Avatar
Odpovídá na Tomáš Brůna
Tomáš Pařízek:

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

 
Odpovědět 1. července 15:34
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na Tomáš Pařízek
Tomáš Brůna:

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. července 15:49
Lepší být šprt než blbec :)
Avatar
mkub
Redaktor
Avatar
Odpovídá na Tomáš Brůna
mkub:

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. července 16:07
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na mkub
Tomáš Brůna:

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. července 16:12
Lepší být šprt než blbec :)
Avatar
mkub
Redaktor
Avatar
Odpovídá na Tomáš Brůna
mkub:

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. července 16:22
Avatar
Odpovídá na Tomáš Brůna
Tomáš Pařízek:

choice /c:210 /n

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

 
Odpovědět  +1 3. července 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