Obsah:

Dávkové súbory: Niektoré základy ..: 8 krokov
Dávkové súbory: Niektoré základy ..: 8 krokov

Video: Dávkové súbory: Niektoré základy ..: 8 krokov

Video: Dávkové súbory: Niektoré základy ..: 8 krokov
Video: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Septembra
Anonim
Dávkové súbory: niekoľko základov …
Dávkové súbory: niekoľko základov …

Tento návod vás naučí základy písania dávkových súborov a ukáže vám, ako vytvoriť hru na hádanie čísel niekoľkými zvratmi, aby boli veci zaujímavé …

Naučil som sa väčšinu svojich schopností príkazového riadka a všetky svoje dávkové písania z internetu všeobecne, a najmä z Instuctables. Chcel by som poďakovať používateľovi Instructables Neodudemanovi za jeho skvelé inštrukcie k dávkovému písaniu. Vďaka!

Krok 1: Čo je dávkový súbor?

Čo je dávkový súbor?
Čo je dávkový súbor?

Väčšina mojich čitateľov pravdepodobne už vie, čo je dávkový súbor, ale len pre prípad ….

Dávkový súbor je jednoducho kolekcia (dávka) príkazov MSDOS, ktoré sa vykonávajú sekvenčne pri spustení dávkového súboru. Dávkové súbory začínajú ako súbory.txt v programe Poznámkový blok a stanú sa spustiteľnými súbormi, keď ich uložíte ako súbory s príponou.bat. V zásade teda stačí napísať súbor do programu Poznámkový blok a uložiť ho napríklad ako „instructable.bat“. Akonáhle je.bat umiestnený na konci názvu súboru, zobrazí sa pekný nový súbor s názvom, ako ste mu pomenovali, s peknou ikonou, ktorá vyzerá ako ozubené koleso. Dobre, teraz, keď vieme, aké sú tieto dávkové súbory, môžeme začať písať!

Krok 2: Základné príkazy

Základné príkazy
Základné príkazy
Základné príkazy
Základné príkazy
Základné príkazy
Základné príkazy
Základné príkazy
Základné príkazy

Dobre, budete sa musieť naučiť niekoľko príkazov. Najprv teda otvorte príkazový riadok MSDOS. Otvorte štartovacie okno, kliknite na príkaz Spustiť, zadajte príkaz „cmd.exe“a potom kliknite na položku Spustiť. Dobre. Najprv sa pozrieme na premenné. Premenné sú čísla, slová alebo iné veci, ktoré sa (trochu očividne) líšia. Príkazový riadok má variabilnú funkciu. Má niektoré premenné, ktoré sú už nastavené, napríklad TIME, DATE a niekoľko ďalších. Väčšinu premenných si však môžete nastaviť sami. Kliknite na okno Príkazový riadok a zadajte: SET variable = randomIt skutočne nezáleží na tom, či použijete "SET" alebo nie, ale rád používam veľké písmená všetkých svojich príkazov, najmä pri písaní dávkových súborov. Jednoducho uľahčíte rozpoznanie toho, čo robíte. Teraz stlačte kláves Enter. Dobre pre teba! Nastavili ste svoju prvú premennú! Čo s tým však môžeme urobiť? koho zaujíma, ak všetko, čo môžeme urobiť, je nastaviť premennú správne? Ukázalo sa, že môžeme urobiť oveľa viac, ale najskôr sa pokúsime prinútiť počítač, aby nám povedal, ako je premenná nastavená. Dobre, aby počítač získal hodnotu premennej, zadajte názov premennej, v tomto prípade „premenná“, a vložte názov do značiek %, takto: %premenná %. Pokračujte, zadajte to a stlačte kláves Enter:%variable%Divná chyba, čo? Počítač povedal, že „„ premenná “nie je rozpoznaná ako interný alebo externý príkaz, spustiteľný program alebo dávkový súbor. Prečo to teda spôsobilo túto chybu? V zásade to spôsobilo túto chybu, pretože príkazový riadok zaobchádza s hodnotou tejto premennej, ako keby ste ju zadali sami. Keď ste teda zadali %variable %, počítač si myslel, že mu hovoríte, aby vykonal príkaz „náhodný“. Očividne potrebujeme niečo iné, aby sme videli hodnotu našej premennej. Tu prichádza na rad príkaz ECHO. Príkaz ECHO jednoducho príkazovému riadku povie, aby zopakoval alebo povedal čokoľvek, čo ste napísali po ECHO. Ak teda zadáme príkaz ECHO pred našu premennú, mali by sme dostať to, čo chceme: ECHO %premenná %There! Teraz máme, čo sme chceli! Počítač tlačí „náhodne“. Očividne to bola hodnota, ktorú sme zadali pre našu premennú, takže je to výsledok, ktorý sme chceli. V nasledujúcom kroku sa dozvieme viac o premenných a o tom, ako ich môžeme použiť.

Krok 3: Použitie príkazu a premenných SET

Použitie príkazu a premenných SET
Použitie príkazu a premenných SET
Použitie príkazu a premenných SET
Použitie príkazu a premenných SET

Dobre, keď už vieme, čo sú to premenné, čo iné s nimi môžeme robiť? Môžeme robiť matematiku, môžeme ich použiť ako podmienky na písanie programov a dávkových súborov, môžeme vykonávať základnú aritmetiku, môžeme vykonávať príkazy a oveľa viac. Nebudeme sa zaoberať všetkým, čo môžete s premennými robiť, ale prediskutujeme niektoré dôležité aspekty funkcie premenných. Po prvé, príkaz SET sám vytvára iba reťazcové premenné. To znamená, že nebude pridávať ani robiť inú matematiku. Ak by ste počítaču povedali, aby pridal 1 k premennej s hodnotou 1, dalo by vám to hodnotu 1+1. Ak chceme, aby tieto dve čísla skutočne sčítal, musíme za príkaz SET zadať „/a“. Preto napíšeme: SET /a varible = (hodnota) Teraz predpokladajme, že chceme vložiť premennú do nášho dávkového súboru, ktorý používateľ poskytne. Možno by sme to chceli urobiť, keby sme počítali hodnoty podľa vzorca, alebo v našom prípade, ak chceme, aby užívateľ uhádol číslo, s ktorým prišiel počítač. Na vygenerovanie premennej špecifikovanej používateľom pridáme a /p za príkaz SET a ponecháme oblasť za = prázdne: premenná SET /p = tu to máte! Užívateľom špecifikovaná premenná! Ak by sme tento riadok vložili do dávkového súboru, dávka by sa spustila, kým by sa nedostala na tento riadok, a potom by počkala na vstup používateľa a potom pokračovala. Ďalšou super vecou na /p je, že úplne neguje /a. Keď zahrnieme a /p, môžeme jednoducho vynechať /a. Ďalšia vec, ktorú sa o tom dozvieme, je vytváranie náhodných premenných. Ak chceme, aby počítač vybral pre premennú náhodné číslo, jednoducho napíšeme príkaz SET, za ním premennú a potom nastavíme premennú na %RANDOM %. Ešte raz, nemusí to byť kapitál, ale aj tak to robím rád. Takže napíšeme: SET /a variable =%RANDOM%Očividne to nie je premenná špecifikovaná užívateľom, preto zahrneme /a. Super! Takže teraz vieme, ako vytvoriť náhodné číslo! Ale ako je to náhodné? Ukazuje sa, že počítač vyberie číslo medzi 0 a niekde okolo 37 000. Nie som si istý, aké je to presné číslo. Ale čo keď chceme menšie číslo? Predpokladajme, že ako v tomto pokyne chceme zvládnuteľné číslo pre niečo ako hádanie? Tu prichádza na rad príkaz IF ….

Krok 4: Príkazy IF a GOTO. Moc v rukách dávkového spisovateľa

Príkazy IF a GOTO. Moc v rukách dávkového spisovateľa
Príkazy IF a GOTO. Moc v rukách dávkového spisovateľa

Chceme teda vytvoriť zvládnuteľné číslo. Predpokladajme, že chceme vytvoriť náhodné číslo od 1 do 20. Dobre, to sa ľahko hovorí, ale hodnota RANDOM vyberie číslo od 1 do 37 000. Na to použijeme IF. Príkaz IF v zásade hovorí, že AK sa niečo stane, alebo AK sa niečo rovná alebo nerovná určitej hodnote, POTOM urobte TOTO. IF teda nastavuje podmienené príkazy. Chceme vytvoriť číslo, ktoré je menšie ako dvadsať, ale väčšie ako jedno, samozrejme, začneme tým, že počítaču povieme, aby vybral náhodné číslo, ale potom mu budeme musieť vedieť povedať, aby vybral nové. číslo, ak číslo, ktoré vyberie, nevyhovuje našim požiadavkám. Tu príde príkaz GOTO. GOTO počítaču jednoducho povie, aby PREJDEL na určité označenie v kóde. Štítky vyzerajú takto:: pickKaždé slovo umiestnené za dvojbodkou sa stane štítkom, ku ktorému máme prístup príkazom GOTO. Ak teda chceme prejsť do sekcie kódu s označením „vybrať“nad ním, jednoducho napíšeme: GOTO pickAlright, pokračujme teda v kódovaní. Už sme počítaču povedali, aby vybral náhodné číslo, a preto sme zadali: SET /a answer =%RANDOM%Teraz chceme toto číslo stiahnuť do menšieho rozsahu. Vyvoláme teda príkaz IF. Na niečo také by mal stačiť trik: IF % answer % GTR 20 GOTO pick To hovorí počítaču, aby si GOTO vybral, AK je odpoveď GReaTer ako 20. Do príkazu IF môžeme tiež vložiť ktorúkoľvek z týchto podmienok: EQU - EqualNEQ - Not EqualLSS - Less ThanGTR - Greater ThanLEQ - Less Than or Equal ToGEQ - Greater Than or Equal ToThus, with IF, GOTO, labels, and these abrevitions, we can manipulate our batch file any way we choose. Dobre, takže teraz máme náhodné číslo pod dvadsať a tu je to, čo sme doteraz získali:: pickSET /a odpoveď =%RANDOM%IF%answer%GTR 20 GOTO pickNow, teraz sa presvedčíme, že počítač nie t pre odpoveď vyberte 0.:pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickIF $ answer%EQU 0 GOTO pickOkay! Teraz máme použiteľné číslo od 1 do 20. Poďme ďalej k dávkovému mäsu.

Krok 5: Mäso našej hry

Mäso z našej hry
Mäso z našej hry

Dobre, máme svoje náhodné číslo. Chceme tiež spočítať, koľko odhadov urobí náš hráč, a preto nastavíme inú premennú: SET /a guessnum = 0 Tým sa premenná geussnum nastaví na nulu a zadali sme jej parameter /a, takže budeme môcť pridať na to zakaždým, keď používateľ uhádne. Dobre. Máme náhodné číslo a nastavili sme počet odhadov. Teraz potrebujeme nejaké inštrukcie a potrebujeme nejaké zadanie od užívateľa pre odhadnuté číslo. Väčšinu z toho by ste už mali pochopiť, tak vám ukážem kód:: beginECHO Chystám sa na čísloECHO, ktoré myslím ….. SET /a GuessNum = 0 (Toto ECHOs sú tieto dva riadky a nastaví počet odhadov na 0): pickASET /a odpoveď =%RANDOM%IF%odpoveď%GTR 20 GOTO pickAIF%odpoveď%EQU 0 GOTO pickAECHO Myslím na číslo medzi 1 a 20ECHO Hádaj, aké číslo si myslím (Táto sekcia sa opakuje, kým nenastaví náhodné číslo a potom pokyny ECHO pre nášho hráča): RetrySET /p Hádaj = IF %Hádaj %LSS %Odpoveď %ECHO Moje číslo je vyššie. IF %Hádaj %GTR %Odpoved % Moje číslo ECHO je nižšie. IF%Hádaj%==%Odpoveď%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Opakovať (Táto časť hovorí počítaču, aby požiadal o vstup od používateľa, a potom sa nepretržite opakuje, kým používateľ nevyberie správne číslo. Potom prejde na štítok KONIEC): ENDECHO Máte pravdu! Odpoveď bola %Odpoveď %ECHO Trvalo %GuessNum %Guesses. ECHO. PAUSECLSECHO Chcete si zahrať znova? ECHO Y /N? SET /p hrať = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % hrať% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain (Tu je naša koncová časť. Toto informuje používateľa o tom, koľko odhadov vzal a potom sa pýta, či by chcel hrať znova. Všimnite si, že môžeme použiť aj EQU, GTR a LSS s písmenami.) Dobre! Ak by ste tento kód jednoducho skopírovali, mali by ste legitímnu tipovaciu hru. Nie je to fantastické, ale hej, je to lepšie, ako väčšina ľudí dokáže. Ale pridáme malý zvrat, aby boli veci zaujímavé ….

Krok 6: Twist

Twist
Twist
Twist
Twist
Twist
Twist

Teraz máme pracovnú hru, ale chceme, aby bola o niečo zaujímavejšia. Čo tak pridať nejaký podnet pre nášho hráča, aby uhádol správne číslo? Čo keby sme urobili niečo ako.. vypli počítač, ak neuhádnu číslo? To by bolo celkom fajn! Dobre, teraz pridáme malý kód na vykonanie týchto zmien. Najprv pridáme riadok do sekcie kódu, ktorú sme označili „zopakovať“. Choďte teda nájsť tú sekciu. Vyzerá to takto:: RetrySET /p Hádaj = IF%Hádaj%LSS%Odpoveď%ECHO Moje číslo je vyššie. IF%Hádaj%GTR%Odpoveď%ECHO Moje číslo je nižšie. IF%Hádaj%==%Odpoveď%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Opakujte Dobre, tento riadok pridáme hneď za „ECHO“. (Keď za ECHO vložíme bodku, zostane prázdny riadok.) Tu je nový kód: IF %GuessNum %EQU 4 GOTO shutdownGKeď pridáme tento riadok, sekcia vyzerá takto:: RetrySET /p Hádaj = IF %Hádaj % LSS%odpoveď%ECHO Moje číslo je vyššie. IF%Hádaj%GTR%Odpoved%%ECHO Moje číslo je nižšie. IF%Hádaj%==%Odpoveď%GOTO ENDECHO. SET /a Hádaj =%Hádaj%%+1IF%Hádaj%EQU 4 Vypnutie GOTOGGOTO Opakujte Teraz by už malo byť celkom zrejmé, čo to robí. Hovorí počítaču, že ak GuessNum EQUals 4, mal by prejsť do sekcie kódu označeného „shutdownG“. Čo teda chceme, aby táto sekcia vypínania hovorila? Očividne to musí mať označenie „shutdownG“. Ďalej musí vypnúť počítač. Príkaz na vypnutie je „VYPNUTIE -s“. Počítač sa vypne, ale chceme do príkazu niektoré pridať. Pridáme „-f“. To prinúti všetky programy zavrieť a pridáme „-t 60“. To počítaču povie, aby zobrazil okno, a počkajte šesťdesiat sekúnd na zatvorenie. Tiež sem "" pridáme správu "-c". ktorý v okne vypnutia zobrazí správu. Po našom príkaze na vypnutie použijeme ten istý kód, ktorý máme vyššie, kód, ktorý umožňuje nášmu hráčovi vyberať čísla a dáva im spätnú väzbu. Náš vypínací kód teda teraz vyzerá takto:: shutdownGSHUTDOWN -s -f -t 60 -c "Pokračujte v hádaní! Ak neuhodnete správne číslo, počítač sa vypne!": shutdownG1SET /p Hádaj = IF %Hádaj %LSS %Odpoveď %ECHO Moje číslo je vyššie. IF %Hádaj %GTR %odpoveď %ECHO Moje číslo je nižšie. IF%Hádaj%==%Odpoveď%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO vypnutieG1Nyní sme nastavili počítač na VYPNUTIE a zobrazenie správy, ale musíme to tiež povedať počítač, aby zastavil vypnutie, ak bolo spustené. Pridáme to teda do sekcie kódovania označenej ako „koniec“. Táto sekcia vyzerá takto:: ENDIF % GuessNum % GTR 4 VYPNUTIE -aECHO Máte pravdu! Odpoveď bola %Odpoveď %ECHO Trvalo %GuessNum %Guesses. ECHO. PAUSECLSECHO Chcete si zahrať znova? ECHO Y /N? SET /p hrať = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagainChceme zastaviť vypínanie a robíme to príkazom „SHUTDOWN -a“. Pridáme teda riadok, ktorý vyzerá takto: IF % GuessNum % GTR 4 SHUTDOWN -aPridáme tento príkaz hneď za štítok a to počítaču povie, aby spustil príkaz SHUTDOWN -a iba vtedy, ak má hráč urobil viac ako štyri hádania a začal vypínať. Dobre! teraz by ste mali mať svoju hru hotovú! V ďalšom kroku zaistíme, aby neboli žiadne chyby.

Krok 7: Posledné kroky

Záverečné kroky
Záverečné kroky

Dobre, teraz, keď spojíte všetky tie kódovania, budete mať niečo, čo bude vyzerať asi takto:: beginECHO Chystám sa na čísloECHO, o ktorom premýšľam ….. SET /a GuessNum = 0: pickASET / a Odpoveď =%NÁHODNÉ%IF%Odpoveď%GTR 20 GOTO pickAIF%Odpoveď%EQU 0 GOTO pickAECHO Myslím na číslo medzi 1 a 20ECHO Hádaj, na aké číslo myslím.: RetrySET /p Hádaj = IF%Hádaj %LSS%odpoveď%ECHO Moje číslo je vyššie. IF%Hádaj%GTR%Odpoved%%ECHO Moje číslo je nižšie. IF%Hádaj%==%Odpoved%GOTO ENDECHO. SET /a HádajNum =%HádajNum%+1IF%Hádaj% Vypnutie EQU 4 GOTOGGOTO Opakujte: ENDIF % GuessNum % GTR 4 VYPNUTIE -aECHO Máte pravdu! Odpoveď bola %Odpoveď %ECHO Trvalo %GuessNum %Guesses. ECHO. PAUSECLSECHO Chcete si zahrať znova? ECHO Y /N? SET /p hrať = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain: closeECHO Ďakujeme za hranie! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c "Hádajte ďalej ! Ak neuhádnete správne číslo, počítač sa vypne! ": ShutdownG1SET /p Hádaj = IF % Hádaj % LSS % Odpoveď % ECHO Moje číslo je vyššie. IF % Hádaj % GTR % Odpoved % ECHO Moje číslo je Lower. IF%Guess%==%Odpovedať%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO vypnutieG1To by malo byť všetko, čo potrebujeme, nie? Pokračujte a uložte súbor.txt poznámkového bloku, ktorý máte, ako GuessGame.bat. Vlastne ho môžete pomenovať, ako chcete, pokiaľ na konci umiestnite príponu.bat. Dobre, kliknite na ikonu a spustite program! Fungovalo to? No dobre. Robí to divné veci, však? Ukazuje sa, že keď napíšeme dávku takto, príkazový riadok ECHO zadá každý príkaz, ktorý mu dáme, rovnako ako keby sme ich zadali do príkazového riadka. Hra teda funguje, ale je trochu chaotická a nejasná. Môžeme s tým niečo urobiť? Jasné! Jediné, čo musíme urobiť, je zadať tento riadok na úplnom začiatku kódu: @ECHO VYPNUTÉ Toto hovorí počítaču, aby vypol ECHO. A znak @ pri žobraní mu hovorí, aby vypol ECHO pre každý príkaz. Ak by sme vynechali @ @, potom by sa vyplo iba ECHO pre jeden príkaz.

Krok 8: Hotovo

Gratulujem Práve ste napísali hru Batch file. Celkom jednoduché, nie? Ak to zvládnete, potom prídete na to, ako si celkom dobre vystačiť s dávkovými súbormi. Len sa s tým zahrajte, urobte niekoľko experimentov. Len pre prípad, že by ste nemohli dostať niečo do práce, alebo pre prípad, že by som vo všetkom tom kódovaní niečo vynechal, dám vám súbor tu.

Odporúča: