Tartalomjegyzék:

Kötegelt fájlok: néhány alap ..: 8 lépés
Kötegelt fájlok: néhány alap ..: 8 lépés

Videó: Kötegelt fájlok: néhány alap ..: 8 lépés

Videó: Kötegelt fájlok: néhány alap ..: 8 lépés
Videó: 9. Präteritum - az egyszerű múlt idő 2024, November
Anonim
Kötegelt fájlok: néhány alap ……
Kötegelt fájlok: néhány alap ……

Ez az oktatható tanítja meg a kötegelt fájlok írásának néhány alapját, és megmutatja, hogyan hozhat létre számkitaláló játékot néhány fordulattal, csak hogy a dolgok érdekesek maradjanak…

A parancssori készségeim nagy részét, és minden kötegelt írást általában az internetről tanultam, különösen az Instructables -ből. Szeretnék köszönetet mondani az Instructables felhasználójának, Neodudemannek a kötegelt írással kapcsolatos nagyszerű utasításaiért. Kösz!

1. lépés: Mi az a kötegelt fájl?

Mi az a kötegelt fájl?
Mi az a kötegelt fájl?

Nos, az olvasóim többsége valószínűleg már tudja, mi az a kötegelt fájl, de minden esetre….

A kötegelt fájl egyszerűen olyan MSDOS parancsok gyűjteménye (kötegelt), amelyek egymás után futnak a kötegelt fájl futtatásakor. A kötegelt fájlok.txt fájlként kezdődnek a jegyzettömbben, és futtatható fájlokká válnak, amikor.bat kiterjesztéssel mentik őket. Tehát alapvetően csak annyit kell tennie, hogy ír egy fájlt a Jegyzettömbben, majd elmenti mondjuk "instructable.bat" néven. Amint a.bat a fájlnév végére kerül, megjelenik egy szép, új fájl, bárhogyan is nevezte el, egy szép, fogaskerék -megjelenésű ikonnal. Rendben, most, hogy tudjuk, melyek ezek a kötegelt fájlok, kezdjünk el írni!

2. lépés: Alapparancsok

Alapparancsok
Alapparancsok
Alapparancsok
Alapparancsok
Alapparancsok
Alapparancsok
Alapparancsok
Alapparancsok

Rendben, meg kell tanulnia néhány parancsot. Tehát először nyissa meg az MSDOS parancssort. Nyissa meg a kezdőablakot, kattintson a futtatás gombra, írja be a "cmd.exe" parancsot, majd kattintson a futtatás gombra. Először is megvizsgáljuk a változókat. A változók számok, szavak vagy egyéb dolgok, amelyek (némileg nyilvánvalóan) változnak. A Parancssor változó funkcióval rendelkezik. Néhány változó van beállítva, például TIME, DATE és néhány más. A legtöbb változót azonban beállíthatja. Kattintson a Parancssor ablakra, és írja be: SET variable = randomTényleg nem mindegy, hogy nagybetűvel írja be a "SET" betűt, vagy sem, de szeretem az összes parancsomat nagybetűvel írni, különösen kötegelt fájlok írásakor. Ez csak megkönnyíti, hogy elmondja, mit csinál. Most nyomja meg az Enter billentyűt. Jó neked! Beállította az első változót! De mit tehetünk vele? kit érdekel, ha csak annyit tehetünk, hogy helyesen állítjuk be a változót? Nos, mint kiderült, ennél sokkal többet is tehetünk, de először próbáljuk meg rávenni a számítógépet, hogy megmondja nekünk, hogy mi a változó beállítása. Rendben, annak érdekében, hogy a számítógép elolvashassa egy változó értékét, be kell írnunk a változó nevét, ebben az esetben a "változót", és be kell írnunk a nevet a %jelek közé, így: %változó %. Írja be, és írja be, és nyomja meg az enter billentyűt:%variable%Furcsa hiba, mi? A számítógép azt mondta, hogy a "változó" nem ismerhető fel belső vagy külső parancsként, működő programként vagy kötegelt fájlként. Akkor miért adta ezt a hibát? Nos, alapvetően azért adta ezt a hibát, mert a Parancssor úgy kezeli a változó értékét, mintha maga írta volna be. Tehát amikor beírta a %variable %értéket, a számítógép azt gondolta, hogy azt mondja, hogy hajtsa végre a "random" parancsot. Nyilvánvaló, hogy valami másra van szükségünk, hogy lássuk a változónk értékét. Itt jön be az ECHO parancs. Az ECHO parancs egyszerűen azt parancsolja a parancssornak, hogy ismételje meg, vagy mondja el, amit beírt az ECHO után. Tehát, ha a változó elé gépeljük az ECHO parancsot, akkor meg kell kapnunk, amit akarunk: ECHO %változó %Ott! Most megvan, amit akarunk! A számítógép "véletlenszerűen" nyomtat. Nyilvánvalóan ezt az értéket adtuk meg a változónkhoz, tehát ez az eredmény, amit akartunk. A következő lépésben többet megtudunk a változókról és azok használatáról.

3. lépés: A SET parancs és a változók használata

A SET parancs és a változók használata
A SET parancs és a változók használata
A SET parancs és a változók használata
A SET parancs és a változók használata

Oké, most, hogy tudjuk, mi a változó, mit tehetünk még velük? Nos, tudunk matematikázni, felhasználhatjuk őket programok és kötegelt fájlok írásának feltételeiként, elvégezhetjük az alapvető számtani műveleteket, parancsokat és még sok mást. Nem megyünk bele mindenbe, amit a változókkal tehetünk, de megvitatjuk a változók működésének néhány fontos aspektusát. Először is, a SET parancs önmagában csak karakterlánc -változókat állít elő. Ez azt jelenti, hogy nem ad hozzá és nem végez semmilyen más matematikát. Ha azt mondaná a számítógépnek, hogy adjon hozzá 1 -et az 1 -es értékű változóhoz, az 1+1 értéket adna. Ha azt akarjuk, hogy ténylegesen összeadja a két számot, akkor a SET parancs után egy "/a" betűt kell elhelyezni. Ezért beírjuk: SET /a varible = (érték) Most tegyük fel, hogy egy változót szeretnénk elhelyezni a kötegelt fájlunkban, amelyet a felhasználó biztosít. Ezt akkor tehetjük meg, ha egy képlet szerint számolunk értékeket, vagy a mi esetünkben, ha azt akarjuk, hogy a felhasználó kitaláljon egy számot, amelyet a számítógép talált ki. A felhasználó által megadott változó generálásához a SET parancs után adjunk hozzá egy a /p -t, és hagyjuk a területet a = blank után: SET /p változó = Tessék! Felhasználó által megadott változó! Ha ezt a sort egy kötegelt fájlba helyeznénk, akkor a köteg addig futna, amíg el nem éri ezt a sort, majd megvárja a felhasználói bevitelt, mielőtt folytatja. A másik jó dolog a /p -ben az, hogy teljesen tagadja a /a. Ha a /p -t is belefoglaljuk, akkor csak kihagyhatjuk a /a -t. A következő dolog, amit megtanulunk róla, véletlenszerű változókat állít elő. Ha azt akarjuk, hogy a számítógép véletlen számot válasszon egy változóhoz, egyszerűen írja be a SET parancsot, majd a változót, majd állítsa be a változót %RANDOM %értékre. Még egyszer, nem kell, hogy tőke legyen, de én mindenesetre szeretem csinálni. Tehát beírjuk: SET /a változó =%RANDOM%Nyilvánvaló, hogy ez nem egy felhasználó által megadott változó, ezért a /a. Menő! Tehát most már tudjuk, hogyan kell véletlen számot előállítani! De mennyire véletlen? Nos, kiderül, hogy a számítógép 0 és valahol 37 000 körüli számot választ. Nem vagyok biztos abban, hogy mi a pontos szám. De mi van, ha kisebb számot akarunk? Tegyük fel, mint például ebben az Instructable -ben, hogy kezelhető számot akarunk valami találgatós játékhoz? Nos, itt jön be az IF parancs….

4. lépés: Az IF és a GOTO parancsok. Erő a kötegelő író kezében

Az IF és a GOTO parancsok. Erő a kötegelő író kezében
Az IF és a GOTO parancsok. Erő a kötegelő író kezében

Tehát kezelhető számot szeretnénk előállítani. Tegyük fel, hogy véletlenszerű számot szeretnénk előállítani 1 és 20 között. Rendben, ezt könnyű mondani, de a RANDOM érték 1 és 37 000 közötti számot választ. Erre fogjuk használni az IF -t. Az IF parancs alapvetően azt mondja, HA történik valami, vagy HA valami megegyezik, vagy nem egyenlő egy bizonyos értékkel, akkor ezt tegye meg. Tehát az IF feltételes parancsokat állít be. Egy húsznál kisebb, de egynél nagyobb számot szeretnénk előállítani, nyilvánvalóan azzal kezdjük, hogy azt mondjuk a számítógépnek, hogy válasszon egy véletlenszerű számot, de akkor meg kell tudnunk mondani, hogy válasszon egy új számot. számot, ha az általa kiválasztott szám nem felel meg követelményeinknek. Itt jön be a GOTO parancs. A GOTO egyszerűen azt mondja a számítógépnek, hogy MENJEN A kód egy bizonyos címkéjéhez. A címkék így néznek ki: pickA kettőspont után elhelyezett szavakból olyan címkék lesznek, amelyeket a GOTO paranccsal érhetünk el. Tehát, ha el akarunk menni a kódrészhez, amely fölött a "pick" felirat található, egyszerűen be kell írnunk: GOTO pickAlright, tehát folytassuk a kódolást. Már azt mondtuk a számítógépnek, hogy válasszon egy véletlen számot, ezért beírtuk: SET /a answer =%RANDOM%Most ezt a számot szeretnénk egy kisebb tartományba húzni. Tehát meghívjuk az IF parancsot. Valami ilyesmi segíthet a trükkön: HA % válasz % GTR 20 GOTO kiválasztás Ez azt mondja a számítógépnek, hogy GOTO válasszon, HA a válasz GReaTer, mint 20. Ezt a feltételt is felvehetjük az IF parancsra: EQU - EqualNEQ - Not EqualLSS - Kevesebb, mint GTR - Nagyobb, mintLEQ - Kevesebb, mint vagy egyenlő ToGEQ - Nagyobb vagy egyenlő, így IF, GOTO, címkék és ezek a rövidítések segítségével bármilyen módon manipulálhatjuk kötegelt fájlunkat. Rendben, tehát a véletlen számunk most húsz alatt van, és itt van, amit eddig kaptunk: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pick t válasszon 0 -t a válaszhoz. Most van egy használható számunk 1 és 20 között. Folytassuk a Tétel húsával.

5. lépés: Játékunk húsa

Játékunk húsa
Játékunk húsa

Rendben, megvan a véletlen számunk. Azt is meg akarjuk számolni, hogy a játékosunk hány találgatást tesz, ezért beállítunk egy másik változót: SET /a guessnum = 0 Ez a geussnum változót nullára állítja, és megadtuk a /a paramétert, így hozzáadhatjuk minden alkalommal, amikor a felhasználó kitalálja. Rendben. Van egy véletlen számunk, és beállítottuk a találgatások számát. Most néhány utasításra van szükségünk, és szükségünk van egy felhasználói bevitelre a találgatási számhoz. Most már meg kell értenie a legtöbbet, ezért csak megmutatom a kódot:: beginECHO Gondolok egy számra, amelyre gondolok….. SET /a GuessNum = 0 (Ez az ECHO ez a két sor és a találgatások számát 0 -ra állítja): pickASET /a Válasz =%RANDOM%IF%Válasz%GTR 20 GOTO pickAIF%Válasz%EQU 0 GOTO pickAECHO 1 és 20 közötti számra gondolok Találd ki, melyik számra gondolok (Ez a szakasz addig folytatódik, amíg be nem állítja a véletlen számunkat, majd az ECHO utasításokat ad a játékosunknak): RetrySET /p Találd meg = IF %Találd meg %LSS %Válasz %ECHO Saját szám magasabb. IF %Guess %GTR %Answer % Az ECHO Saját szám alacsonyabb. IF%Guess%==%Válasz%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1 Akkor ez a címkére VÉGE): ENDECHO Igazad van! A válasz %válasz %ECHO %GuessNum %Guesses. ECHO. PAUSECLSECHO Szerettél volna újra játszani? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % %% GTR és GOTO játék Figyeljük meg, hogy az EQU, a GTR és az LSS betűkkel is használhatók.) Rendben! Ha egyszerűen lemásolta ezt a kódot, törvényes találgatási játékot kaphat. Nem igazán divatos, de hé, ez jobb, mint a legtöbb ember. De adunk hozzá egy kis fordulatot, csak hogy érdekessé tegyük a dolgokat….

6. lépés: A fordulat

A csavar
A csavar
A csavar
A csavar
A csavar
A csavar

Most van egy működő játékunk, de szeretnénk egy kicsit érdekesebbé tenni. Mit szólnál ahhoz, ha a játékosunkat arra ösztönöznénk, hogy kitalálja a megfelelő számot? Mi lenne, ha csinálnánk valami olyasmit, hogy leállítjuk a számítógépüket, ha nem találják ki a számot? Ez nagyon király lenne! Rendben, most hozzáadunk egy kis kódot a módosítások végrehajtásához. Először is hozzáadunk egy sort a kódrészhez, amelyet "újrapróbálkozásnak" neveztünk. Szóval keresd meg azt a részt. Így néz ki:: RetrySET /p Guess = IF%Guess%LSS%Answer%ECHO My Number is nagyobb. IF%Guess%GTR%Answer%ECHO My Number is less. IF%Guess%==%Answer%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO RetryOké, ezt a sort közvetlenül az "ECHO" után adjuk hozzá. (Ha egy pontot teszünk az ECHO után, akkor üres sort hagy.) Itt az új kód: IF %GuessNum %EQU 4 GOTO shutdownGHa ezt a sort hozzáadjuk, a szakasz így néz ki:: RetrySET /p Guess = IF %Guess % LSS%válasz%ECHO Számom magasabb 4 GOTO shutdownGGOTO Retry Azt mondja a számítógépnek, hogy ha a GuessNum EQUals 4, akkor a "shutdownG" feliratú kódrészbe kell mennie. Nos, mit akarunk, hogy ez a leállítási rész mondjon? Nos, nyilvánvalóan "shutdownG" felirattal kell ellátni. Ezután le kell állítania a számítógépet. A leállítási parancs "SHUTDOWN -s". Ez leállítja a számítógépet, de szeretnénk néhányat hozzáadni a parancshoz. Hozzáadunk egy "-f" -t. Ez kényszeríti az összes program bezárását, és hozzáadunk egy "-t 60" -t. Ez azt fogja mondani a számítógépnek, hogy jelenítsen meg egy ablakot, és várjon hatvan másodpercet, amíg bezár. "-C" üzenetet is hozzáadunk ide "". amely üzenetet jelenít meg a leállítási ablakban. A leállítási parancsunk után ugyanazt a kódot fogjuk használni, mint a fenti, azt a kódot, amely lehetővé teszi a játékosunk számára a számok kiválasztását, és visszajelzést ad nekik. Tehát a leállítási kódunk most így néz ki:: shutdownGSHUTDOWN -s -f -60 -c "Fogalmazza tovább! Ha nem találja ki a megfelelő számot, a számítógép leáll!": shutdownG1SET /p Találd meg = IF %Találd %LSS %Válasz %ECHO Saját szám magasabb. IF %Guess %GTR %Válasz %ECHO Saját szám alacsonyabb. IF%Guess%==%Válasz%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1 a számítógépet, hogy állítsa le a leállítást, ha azt kezdeményezték. Tehát ezt hozzáadjuk a kódolás "end" feliratú részéhez. Ez a rész így néz ki:: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Igazad van! A válasz %válasz %ECHO %GuessNum %Guesses. ECHO. PAUSECLSECHO Szerettél volna újra játszani? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % lejátszás% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagaIFIF play% LSS n GOTO playagain Tehát hozzáadunk egy sort, amely így szól: IF % GuessNum % GTR 4 SHUTDOWN -Ezt a parancsot közvetlenül a címke után adjuk hozzá, és ez azt fogja mondani a számítógépnek, hogy csak akkor futtassa a SHUTDOWN -a parancsot, ha négynél többet sejtett, és megkezdte a leállást. Oké! most már véget kell vetni a játéknak! A következő lépésben biztosítjuk, hogy nincsenek hibák.

7. lépés: Utolsó lépések

Utolsó lépések
Utolsó lépések

Oké, most, ha összefűzi a kódolást, akkor valami ilyesmi fog kinézni:: beginECHO Gondolok egy számra, amelyre gondolok….. SET /a GuessNum = 0: pickASET / a Válasz =%RANDOM%IF IF%Válasz%GTR 20 GOTO pickAIF%Válasz%EQU 0 GOTO pickAECHO 1 és 20 közötti számra gondolok Találd ki, mire gondolok.: RetrySET /p Guess = IF%Guess %LSS%Válasz%ECHO Számom magasabb. IF%Guess%GTR%Válasz%ECHO Saját szám alacsonyabb. IF%Guess%==%Válasz%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum% EQU 4 GOTO shutdownGGOTO Retry: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Igazad van! A válasz %válasz %ECHO %GuessNum %Guesses. ECHO. PAUSECLSECHO Szerettél volna újra játszani? 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 Köszönjük, hogy játszott! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -60 -c "Fogalmazz tovább ! Ha nem találja ki a megfelelő számot, a számítógép leáll! ": ShutdownG1SET /p Találd meg = HA % Találd meg % LSS % Válasz % ECHO Saját szám magasabb. IF % Guess % GTR % Válasz % ECHO Saját szám Lower. IF%Guess%==%Válasz%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1Ez kell minden, amire szükségünk van? Tehát menjen előre, és mentse el azt a Jegyzettömb.txt fájlt, amely GuessGame.bat néven van. Valójában bármikor elnevezheti, amíg a.bat a végére teszi. Rendben, kattintson az ikonra, és futtassa a programot! Működött? Hát úgy. Furcsa dolgokat csinál, nem? Kiderül, hogy amikor egy ilyen köteget írunk, a parancssori ECHO minden parancsot megad, amit adunk neki, ugyanúgy, mintha beírnánk őket a parancssorba. Tehát a játék működik, de kissé rendetlen és homályos. Tehetünk ez ellen valamit? Igen! Csak annyit kell tennünk, hogy begépeljük ezt a sort a kódunk legelején: @ECHO OFFEz azt mondja a számítógépnek, hogy kapcsolja ki az ECHO -t. És a könyörgés @ jele azt mondja, hogy minden parancsnál kapcsolja ki az ECHO -t. Ha ezt a @ -ot kihagynánk, akkor csak egy parancsra kapcsolná ki az ECHO -t.

8. lépés: Minden kész

Gratulálunk! Most írt egy Batch fájljátékot. Elég egyszerű nem? Ha ezt tudja kezelni, akkor kitalálhatja, hogyan lehet egy kicsit a kötegelt fájlokkal. Csak játssz vele, végezz néhány kísérletet. Csak abban az esetben, ha nem tudna valamit működésre bírni, vagy ha valamit kihagytam volna a kódolásból, akkor ide adom a fájlt.

Ajánlott: