Sisällysluettelo:

Erätiedostot: joitakin perusasioita ..: 8 vaihetta
Erätiedostot: joitakin perusasioita ..: 8 vaihetta

Video: Erätiedostot: joitakin perusasioita ..: 8 vaihetta

Video: Erätiedostot: joitakin perusasioita ..: 8 vaihetta
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Kesäkuu
Anonim
Erätiedostot: joitakin perusasioita …
Erätiedostot: joitakin perusasioita …

Tämä Instructable opettaa sinulle joitain perusasioita erätiedostojen kirjoittamisesta ja näyttää kuinka voit luoda numeronarvauspelin muutamalla käännöksellä, jotta asiat pysyvät mielenkiintoisina …

Olen oppinut suurimman osan komentorivitaidoistani ja kaiken eräkirjoitukseni Internetistä yleensä ja erityisesti Instuctables -tuotteista. Haluan kiittää Instructables -käyttäjää Neodudemania mahtavista Instructables -sarjojen kirjoittamisesta. Kiitos!

Vaihe 1: Mikä on erätiedosto?

Mikä on erätiedosto?
Mikä on erätiedosto?

No, suurin osa lukijoistani luultavasti jo tietää, mikä on erätiedosto, mutta joka tapauksessa….

Erätiedosto on yksinkertaisesti kokoelma (erä) MSDOS -komentoja, jotka suoritetaan peräkkäin, kun suoritat erätiedoston. Erätiedostot alkavat.txt -tiedostoina muistikirjassa ja niistä tulee suoritettavia tiedostoja, kun tallennat ne jonain.bat -tunnisteella. Joten pohjimmiltaan sinun tarvitsee vain kirjoittaa tiedosto Notepadiin ja tallentaa se esimerkiksi sanalla "instructable.bat". Kun.bat on sijoitettu tiedostonimen loppuun, ilmestyy mukava, uusi tiedosto, jonka nimi on mikä tahansa, jonka nimi on, ja jossa on mukava vaihteen näköinen kuvake. Okei, nyt kun tiedämme, mitä nämä erätiedostot ovat, aloitetaan kirjoittaminen!

Vaihe 2: Peruskomennot

Peruskomennot
Peruskomennot
Peruskomennot
Peruskomennot
Peruskomennot
Peruskomennot
Peruskomennot
Peruskomennot

Selvä, sinun on opittava muutama komento. Avaa ensin MSDOS -komentokehote. Avaa aloitusikkuna, napsauta suorita, kirjoita "cmd.exe" ja napsauta sitten suorita. Okei. Ensin tarkastellaan muuttujia. Muuttujat ovat numeroita, sanoja tai muita asioita, jotka (hieman ilmeisesti) vaihtelevat. Komentokehotteessa on muuttuva toiminto. Siinä on joitakin muuttujia, jotka on jo asetettu, kuten TIME, DATE ja muutamia muita. Useimmat muuttujat voit kuitenkin asettaa itse. Napsauta komentokehoteikkunaa ja kirjoita: SET muuttuja = satunnainen Ei todellakaan ole väliä käytätkö isoa "SET" -kirjainta vai ei, mutta pidän kaikista komennoistani isolla alkukirjaimella, varsinkin kun kirjoitat erätiedostoja. Nyt vain on helpompi kertoa, mitä teet. Nyt paina Enter. Hyvä sinulle! Olet asettanut ensimmäisen muuttujasi! Mutta mitä voimme tehdä sen kanssa? ketä kiinnostaa, jos voimme vain asettaa muuttujan oikein? No, kuten käy ilmi, voimme tehdä paljon enemmän, mutta yritämme ensin saada tietokone kertomaan meille, mikä muuttuja on asetettu. Okei, saadaksemme tietokoneen lukemaan muuttujan arvon, kirjoitamme muuttujan nimen, tässä tapauksessa "muuttujan", ja laitamme nimen %-merkkien sisään, kuten tämä: %muuttuja %. Kirjoita se ja paina enter:%variable%Outo virhe vai? Tietokone sanoi, että "muuttujaa" ei tunnisteta sisäiseksi tai ulkoiseksi komentoksi, käyttökelpoiseksi ohjelmaksi tai erätiedostoksi. " Joten miksi se antoi tämän virheen? Pohjimmiltaan se antoi tämän virheen, koska komentorivi käsittelee kyseisen muuttujan arvon ikään kuin kirjoitit sen itse. Joten kun kirjoitit %muuttuja %, tietokone ajatteli, että käskit suorittaa komennon "satunnaisesti". Ilmeisesti tarvitsemme jotain muuta nähdäksemme muuttujamme arvon. Tässä kohtaa tulee ECHO -komento. ECHO -komento käskee komentokehotteen toistamaan tai sanomaan mitä tahansa ECHOn jälkeen kirjoittamaasi. Joten jos kirjoitamme ECHO -komennon muuttujan eteen, meidän pitäisi saada haluamamme: ECHO %muuttuja %Siellä! Nyt meillä on mitä haluamme! Tietokone tulostaa "satunnaisesti". Ilmeisesti tämä oli arvo, jonka kirjoitimme muuttujallemme, joten se on haluamamme tulos. Seuraavassa vaiheessa opimme lisää muuttujista ja niiden käyttämisestä.

Vaihe 3: SET -komennon ja muuttujien käyttäminen

SET -komennon ja muuttujien käyttäminen
SET -komennon ja muuttujien käyttäminen
SET -komennon ja muuttujien käyttäminen
SET -komennon ja muuttujien käyttäminen

Okei, nyt kun tiedämme muuttujat, mitä muuta voimme tehdä niille? No, voimme tehdä matematiikkaa, voimme käyttää niitä ohjelmien ja erätiedostojen kirjoittamisen ehdoina, voimme suorittaa perusaritmetiikkaa, voimme suorittaa komentoja ja paljon muuta. Emme mene kaikkeen, mitä voit tehdä muuttujien kanssa, mutta keskustelemme muuttujan toiminnon tärkeistä näkökohdista. Ensinnäkin SET -komento tuottaa vain merkkijonomuuttujia. Tämä tarkoittaa, että se ei lisää tai tee muuta laskutoimitusta. Jos käskisit tietokonetta lisäämään yhden muuttujaan, jonka arvo on 1, se antaisi sinulle arvon 1+1. Jos haluamme, että se todella lisää nämä kaksi numeroa, meidän on asetettava "/a" SET -komennon jälkeen. Siksi kirjoitamme: SET /a varible = (arvo) Oletetaan nyt, että haluamme lisätä muuttujan erätiedostoomme, jonka käyttäjä antaa. Haluamme ehkä tehdä tämän, jos laskemme arvoja kaavan mukaan tai meidän tapauksessamme, jos haluamme käyttäjän arvaavan tietokoneen keksimän luvun. Käyttäjän määrittämän muuttujan luomiseksi lisäämme a /p SET -komennon jälkeen ja jätämme alueen = tyhjäksi: SET /p muuttuja = Noniin! Käyttäjän määrittämä muuttuja! Jos laittaisimme tämän rivin erätiedostoon, erä toimisi, kunnes se saavutti tämän rivin, ja sitten se odottaisi käyttäjän syöttämistä ennen jatkamista. Toinen hieno asia /p: ssä on, että se kieltää /a: n kokonaan. Kun sisällytetään a /p, voimme vain jättää pois /a: n. Seuraavaksi opimme siitä tuottamaan satunnaismuuttujia. Jos haluamme, että tietokone valitsee satunnaisluvun muuttujalle, kirjoitamme yksinkertaisesti SET -komennon ja sen jälkeen muuttujan ja asetamme muuttujan arvoksi %RANDOM %. Jälleen kerran, sen ei tarvitse olla pääomaa, mutta pidän siitä silti. Kirjoitamme siis: SET /a variable =%RANDOM%Ilmeisesti tämä ei ole käyttäjän määrittämä muuttuja, joten sisällytämme /a. Viileä! Joten nyt tiedämme kuinka tuottaa satunnaisluku! Mutta kuinka satunnaista se on? No, käy ilmi, että tietokone valitsee luvun välillä 0 ja jonnekin noin 37 000. En ole varma, mikä on tarkka numero. Mutta entä jos haluamme pienemmän määrän? Oletetaan, että kuten tässä Instructable -ohjelmassa haluamme hallittavan numeron jotain arvauspeliä varten? Siinä IF -komento tulee….

Vaihe 4: IF- ja GOTO -komennot. Voimaa eräkirjoittajan käsissä

IF- ja GOTO -komennot. Voimaa eräkirjoittajan käsissä
IF- ja GOTO -komennot. Voimaa eräkirjoittajan käsissä

Joten haluamme tuottaa hallittavan numeron. Oletetaan, että haluamme tuottaa satunnaisluvun välillä 1 ja 20. Okei, se on helppo sanoa, mutta RANDOM -arvo valitsee luvun 1 ja 37 000 välillä. Tätä varten aiomme käyttää IF: tä. IF -komento sanoo periaatteessa, JOS jotain tapahtuu, tai JOS jotain vastaa tai ei vastaa tiettyä arvoa, tee sitten tämä. Joten IF asettaa ehdollisia komentoja. Haluamme tuottaa luvun, joka on pienempi kuin kaksikymmentä, mutta suurempi kuin yksi, tietysti aloitamme käskemällä tietokoneen valitsemaan satunnaisluvun, mutta sitten meidän on voitava kertoa sille, että se valitsee uuden numero, jos valitsemasi numero ei vastaa vaatimuksiamme. Sieltä tulee GOTO -komento. GOTO yksinkertaisesti kehottaa tietokonetta siirtymään tiettyyn koodiin. Tunnisteet näyttävät tältä:: pick Kaikki sanat, jotka on sijoitettu kaksoispisteen jälkeen, muuttuvat tunnisteiksi, joita voimme käyttää GOTO -komennolla. Joten jos haluamme siirtyä koodiosioon, jonka yläpuolella on "pick" -merkki, kirjoitamme yksinkertaisesti: GOTO pickAlright, joten jatketaan koodauksestamme. Olemme jo kehottaneet tietokonetta valitsemaan satunnaisluvun, joten olemme kirjoittaneet: SET /a answer =%RANDOM%Nyt haluamme vetää tämän luvun pienemmälle alueelle. Joten kutsumme IF -komennon. Jotain tällaisesta pitäisi tehdä temppu: JOS % vastaus % GTR 20 GOTO -valinta Tämä kertoo tietokoneelle GOTO -valinnan, jos vastaus on GReaTer kuin 20. Voisimme myös asettaa minkä tahansa näistä ehdoista kyseiselle IF -komennolle: EQU - EqualNEQ - Not EqualLSS - Vähemmän kuin GTR - suurempi kuinLEQ - pienempi tai yhtä suuri ToGEQ - suurempi tai yhtä suuri Toisin sanoen IF-, GOTO-, tarrojen ja näiden lyhenteiden avulla voimme käsitellä erätiedostoamme haluamallamme tavalla. Okei, satunnaislukumme on nyt alle kaksikymmentä, ja tässä on tähän mennessä saatujamme:: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickNow, varmista, että tietokone ei t valitse 0 vastaukselle.: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickIF $ answer%EQU 0 GOTO pickOkay! Nyt meillä on käyttökelpoinen numero välillä 1 ja 20. Siirrymme erän lihaan.

Vaihe 5: Pelimme liha

Pelimme liha
Pelimme liha

Selvä, meillä on satunnaisluku. Haluamme myös laskea kuinka monta arvausta pelaajamme tekee, joten asetamme toisen muuttujan: SET /a guessnum = 0 Tämä asettaa geussnum -muuttujan nollaan ja annoimme sille parametrin /a, joten voimme lisätä siihen aina, kun käyttäjä arvaa. Meillä on satunnaisluku ja olemme asettaneet arvausten määrän. Nyt tarvitsemme joitain ohjeita, ja meillä on oltava jonkinlainen käyttäjän syöttö arvausnumeroon. Sinun pitäisi ymmärtää suurin osa tästä nyt, joten näytän sinulle vain koodin:: beginECHO Ajattelen numeroa, jota ajattelen….. SET /a GuessNum = 0 (Tämä ECHO on ne kaksi asettaa arvausten lukumääräksi 0): pickASET /a Vastaus =%RANDOM%IF IF%Answer%GTR 20 GOTO pickAIF%Vastaus%EQU 0 GOTO pickAECHO Ajattelen numeroa välillä 1 ja 20ECHO Arvaa mikä numero on mielessäni /. (Tämä jakso jatkuu, kunnes se asettaa satunnaislukumme ja ECHO antaa soittimellemme ohjeet): RetrySET /p Arvaa = JOS %Arvaa %LSS %Vastaus %ECHO Oma numero on suurempi. IF %Arvaa %GTR %Vastaus % ECHO -numero on pienempi. IF%Guess%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Yritä uudelleen (Tässä osassa kerrotaan tietokoneelle, että se pyytää käyttäjän tietoja ja jatkaa silmukoita jatkuvasti, kunnes käyttäjä valitsee Sitten se siirtyy tarraan END): ENDECHO Olet oikeassa! Vastaus oli %Vastaus %ECHO Kesti %GuessNum %Guesses. ECHO. PAUSECLSECHO Haluatko pelata uudelleen? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagaIFIF play% GTR n GOTO playagainIF% play% LSS n GOTO playgain Huomaa, että voimme käyttää EQU: tä, GTR: ää ja LSS: ää myös kirjaimilla.) Okei! Jos kopioit tämän koodin, sinulla on legitiimi arvauspeli. Ei todella hienoa, mutta hei, se on parempi kuin useimmat ihmiset voivat tehdä. Mutta aiomme lisätä pienen käänteen vain tehdäksemme mielenkiintoisia….

Vaihe 6: Kierre

Twist
Twist
Twist
Twist
Twist
Twist

Meillä on nyt toimiva peli, mutta haluamme tehdä siitä hieman kiinnostavamman. Entä jos lisäät kannustimen pelaajallemme arvaamaan oikean numeron? Entä jos teemme jotain, kuten.. sammuta heidän tietokoneensa, jos he eivät arvaa numeroa? Se olisi aika siistiä! Okei, nyt lisäämme pienen koodin näiden muutosten tekemiseksi. Ensinnäkin aiomme lisätä rivin koodiosaan, jonka nimimme "yritä uudelleen". Joten etsi se osio. Se näyttää tältä:: RetrySET /p Arvaa = JOS%Arvaa%LSS%Vastaus%ECHO Numeroni on suurempi. IF%Arvaa%GTR%Vastaus%ECHO Numeroni on pienempi. IF%Arvaa%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Yritä uudelleenOkei, lisäämme tämän rivin heti "ECHO" -merkin jälkeen. (Kun pistetään piste ECHO: n jälkeen, se jättää tyhjän rivin.) Tässä on uusi koodi: IF %GuessNum %EQU 4 GOTO shutdownG Kun lisäämme tämän rivin, osio näyttää tältä:: RetrySET /p Arvaa = IF %Arvaa % LSS%Vastaus%ECHO Oma numero on suurempi. IF%Arvaa%GTR%Vastaus%ECHO Numeroni on pienempi. IF%Arvaa%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum%EQU 4 GOTO shutdown GGOTO Retry Tähän mennessä pitäisi olla melko selvää, mitä tämä tekee. Se kertoo tietokoneelle, että jos GuessNum EQUals 4, sen pitäisi mennä koodin osaan, joka on merkitty "shutdownG". Mitä haluamme tämän sammutusosion sanovan? On selvää, että se on merkittävä "shutdownG". Seuraavaksi sen on sammutettava tietokone. Sammutuskomento on "SHUTDOWN -s". Tämä sammuttaa tietokoneen, mutta haluamme lisätä joitain komentoon. Lisätään "-f". Tämä pakottaa kaikki ohjelmat sulkeutumaan ja lisäämme "-t 60". Tämä kehottaa tietokonetta näyttämään ikkunan ja odottamaan kuusikymmentä sekuntia sulkeutumaan. Lisäämme myös "-c" viestin tähän "". joka näyttää viestin sammutusikkunassa. Sammutuskomennomme jälkeen käytämme samaa koodia kuin yllä, koodia, jonka avulla pelaajamme voi valita numeroita ja antaa heille palautetta. -c "Jatka arvaamista! Jos et arvaa oikeaa numeroa, tietokone sammuu!": shutdownG1SET /p Arvaa = JOS %Arvaa %LSS %Vastaus %ECHO Numeroni on suurempi. IF %Arvaa %GTR %Vastaus %ECHO Oma numero on pienempi. IF%Guess%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1 Nyt olemme asettaneet tietokoneen sammumaan ja näyttämään viestin, mutta meidän on myös kerrottava pysäyttää tietokoneen, jos se on käynnistetty. Joten lisäämme sen koodausosaan, joka on merkitty "end". Tämä osa näyttää tältä:: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Olet oikeassa! Vastaus oli %Vastaus %ECHO Kesti %GuessNum %Guesses. ECHO. PAUSECLSECHO Haluatko pelata uudelleen? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagaIFIF play% GTR n GOTO playigaIFIF play% LSS n GOTO playagainHaluamme pysäyttää sammutuksen ja teemme sen "SHUTDOWN -a" -komennolla. Joten lisäämme rivin, joka menee näin: IF % GuessNum % GTR 4 SHUTDOWN -Lisäämme tämän komennon heti tarran jälkeen, ja se käskee tietokoneen suorittamaan SHUTDOWN -a -komennon vain, jos pelaaja on teki enemmän kuin neljä arvausta ja aloitti sammutuksen. Okei! sinun pitäisi saada peli valmiiksi nyt! Huolehdimme siitä, ettei seuraavassa vaiheessa ole virheitä.

Vaihe 7: Viimeiset vaiheet

Viimeiset vaiheet
Viimeiset vaiheet

Okei, nyt, jos yhdistät kaiken koodauksen, sinulla on jotain, joka näyttää tältä::: beginECHO Ajattelen lukua, jota ajattelen….. SET /a GuessNum = 0: pickASET / a Vastaus =%RANDOM%IF IF%Vastaus%GTR 20 GOTO pickAIF%Vastaus%EQU 0 GOTO pickAECHO Ajattelen numeroa välillä 1-20 %LSS%Vastaus%ECHO Oma numero on suurempi. IF%Arvaa%GTR%Vastaus%ECHO Numeroni on pienempi. IF%Arvaa%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum% EQU 4 GOTO shutdownGGOTO Yritä uudelleen: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Olet oikeassa! Vastaus oli %Vastaus %ECHO Kesti %GuessNum %Guesses. ECHO. PAUSECLSECHO Haluatko pelata uudelleen? ECHO Y /N? SET /p play = 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 Kiitos pelistä! PAUSEEXIT cmd: shutdownGSHUTDOWN --f -60 -c "Jatka arvaamista ! Jos et arvaa oikeaa numeroa, tietokone sammuu! ": ShutdownG1SET /p Arvaa = JOS % Arvaa % LSS % Vastaus % ECHO Numeroni on suurempi. IF % Arvaa % GTR % Vastaus % ECHO Oma numero on Lower. IF%Guess%==%Vastaus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1Tämä on kaikki mitä tarvitsemme? Joten, mene eteenpäin ja tallenna muistiinpanosi.txt -tiedosto GuessGame.bat -tiedostona. Itse asiassa voit nimetä sen haluamallasi tavalla, kunhan laitat.batin loppuun. Okei, napsauta kuvaketta ja suorita ohjelma! Toimiko se? No jotenkin. Se tekee outoja asioita, eikö? Osoittautuu, että kun kirjoitamme tällaisen erän, komentokehote ECHO antaa jokaisen sille antamamme komennon, aivan kuin kirjoittaisimme ne komentokehotteeseen. Joten peli toimii, mutta se on hieman sotkuinen ja epäselvä. Voimmeko tehdä asialle mitään? Joo! Meidän tarvitsee vain kirjoittaa tämä rivi koodimme alkuun: @ECHO OFF Tämä kertoo tietokoneen sammuttavan ECHO OFF. Ja kerjäämisessä oleva @ -merkki kehottaa sammuttamaan ECHO -toiminnon jokaisesta komennosta. Jos jätämme @ -merkin pois, ECHO kytketään pois päältä vain yhdelle komennolle.

Vaihe 8: Kaikki valmis

Onnittelut! Kirjoitit juuri erätiedostopelin. Aika yksinkertaista eikö? Jos pystyt käsittelemään tätä, voit selvittää, miten voit tehdä melko paljon erätiedostoilla. Pelaa vain sen kanssa, tee kokeita. Jos et voi saada jotain toimimaan tai jos jätin jotain pois kaikesta koodauksesta, annan sinulle tiedoston täällä.

Suositeltava: