Cuprins:

Fișiere lot: câteva elemente de bază ..: 8 pași
Fișiere lot: câteva elemente de bază ..: 8 pași

Video: Fișiere lot: câteva elemente de bază ..: 8 pași

Video: Fișiere lot: câteva elemente de bază ..: 8 pași
Video: Cum formatezi o pagină a unui document WORD(dimensiuni, orientare, spațiere rânduri, margini, antet) 2024, Septembrie
Anonim
Fișiere lot: câteva elemente de bază …
Fișiere lot: câteva elemente de bază …

Acest instructable vă va învăța câteva elemente de bază pentru scrierea fișierelor batch și vă va arăta cum să creați un joc de ghicit cu câteva răsuciri, doar pentru a păstra lucrurile interesante …

Am învățat majoritatea abilităților mele de comandă și toate scrierile pe loturi de pe internet, în general, și Instuctables în special. Aș dori să mulțumesc utilizatorului Instructables Neodudeman pentru minunatele sale lucrări Instructables pe scrierea în serie. Mulțumiri!

Pasul 1: Ce este un fișier lot?

Ce este un fișier lot?
Ce este un fișier lot?

Ei bine, majoritatea cititorilor mei probabil știu deja ce este un fișier batch, dar pentru orice eventualitate …

Un fișier batch este doar o colecție (batch) de comenzi MSDOS care se execută secvențial atunci când rulați fișierul batch. Fișierele lot încep ca fișiere.txt în blocnotes și devin fișiere executabile atunci când le salvați ca ceva cu o extensie.bat. Deci, practic, tot ce faci este să scrii un fișier în Notepad și apoi să-l salvezi ca, de exemplu, „instructable.bat”. Odată ce.bat este plasat la sfârșitul numelui fișierului, va apărea un fișier nou, drăguț, numit așa cum l-ați numit, cu o pictogramă frumoasă, cu aspect de roată. Bine, acum că știm care sunt aceste fișiere batch, să începem să scriem!

Pasul 2: Comenzi de bază

Comenzi de bază
Comenzi de bază
Comenzi de bază
Comenzi de bază
Comenzi de bază
Comenzi de bază
Comenzi de bază
Comenzi de bază

În regulă, va trebui să învățați câteva comenzi. Deci, mai întâi, deschideți promptul de comandă MSDOS. Deschideți fereastra de start, faceți clic pe Executare, tastați „cmd.exe” și apoi faceți clic pe Executare. Bine. În primul rând, vom analiza variabilele. Variabilele sunt numere, cuvinte sau alte lucruri care (oarecum evident) variază. Promptul de comandă are o funcție variabilă. Are câteva variabile care sunt deja setate, cum ar fi TIME, DATE și câteva altele. Cu toate acestea, majoritatea variabilelor vă puteți seta. Faceți clic pe fereastra de comandă și tastați: SET variabilă = aleatorie Nu contează cu adevărat dacă majusculați „SET” sau nu, dar îmi place să scriu cu majuscule toate comenzile mele, mai ales când scriu fișiere batch. Pur și simplu vă este mai ușor să spuneți ce faceți. Acum apăsați Enter. Bravo ție! Ați setat prima variabilă! Dar ce putem face cu el? cui îi pasă dacă tot ce putem face este să setăm variabila nu? Ei bine, după cum se dovedește, putem face mult mai mult decât atât, dar mai întâi, să încercăm să facem calculatorul să ne spună cum este setată variabila. Bine, pentru ca computerul să citească valoarea unei variabile, tastăm numele variabilei, în acest caz, „variabilă” și punem numele în% mărci, astfel:% variabilă%. Continuați și tastați-l și apăsați Enter:% variable% Eroare ciudată, nu? Computerul a spus că „„ variabilă”nu este recunoscută ca o comandă internă sau externă, un program operabil sau un fișier batch.” Deci, de ce a dat această eroare? Ei bine, practic, a dat acea eroare deoarece Promptul de comandă tratează valoarea acelei variabile ca și cum ai fi introdus-o în tine. Deci, când ați tastat% variabilă%, computerul a crezut că îi spuneți să execute comanda „aleatoriu”. Evident, avem nevoie de altceva pentru a vedea valoarea variabilei noastre. Aici intră comanda ECHO. Comanda ECHO îi spune pur și simplu Promptului de comandă să răsune sau să spună orice ai scris după ECHO. Deci, dacă tastăm comanda ECHO înainte de variabila noastră, ar trebui să obținem ceea ce dorim: ECHO% variabilă% Acolo! Acum avem ceea ce vrem! Computerul tipărește „aleatoriu”. Evident, aceasta a fost valoarea pe care am introdus-o pentru variabila noastră, deci este rezultatul pe care l-am dorit. În pasul următor, vom afla mai multe despre variabile și cum le putem folosi.

Pasul 3: Utilizarea comenzii SET și a variabilelor

Utilizarea comenzii SET și a variabilelor
Utilizarea comenzii SET și a variabilelor
Utilizarea comenzii SET și a variabilelor
Utilizarea comenzii SET și a variabilelor

Bine, acum că știm ce sunt variabilele, ce altceva putem face cu ele? Ei bine, putem face matematică, le putem folosi ca condiții pentru scrierea de programe și fișiere batch, putem efectua aritmetica de bază, putem executa comenzi și multe altele. Nu vom intra în tot ceea ce puteți face cu variabilele, dar vom discuta despre câteva aspecte importante ale funcției variabilei. În primul rând, comanda SET produce singură variabile șir. Aceasta înseamnă că nu va adăuga și nu va face nicio altă matematică. Dacă ar fi să îi spui computerului să adauge 1 la o variabilă cu valoarea 1, acesta ți-ar da valoarea 1 + 1. Dacă vrem să adauge efectiv cele două numere, trebuie să plasăm un „/ a” după comanda SET. Prin urmare, tastăm: SET / a varible = (valoare) Acum, să presupunem că dorim să introducem o variabilă în fișierul batch pe care utilizatorul îl va furniza. S-ar putea să vrem să facem acest lucru dacă am calcula valorile conform unei formule sau, în cazul nostru, dacă dorim ca utilizatorul să ghicească un număr cu care computerul a venit. Pentru a genera o variabilă specificată de utilizator, adăugăm a / p după comanda SET și lăsăm zona după = gol: variabilă SET / p = Acolo! O variabilă specificată de utilizator! Dacă ar fi să punem această linie într-un fișier batch, atunci lotul ar rula până când va ajunge la această linie și apoi ar aștepta introducerea utilizatorului înainte de a continua. Celălalt lucru interesant despre / p este că neagă complet / a. Când includem a / p, putem omite doar / a. Următorul lucru pe care îl vom învăța despre aceasta va produce variabile aleatorii. Dacă dorim ca computerul să aleagă un număr aleatoriu pentru o variabilă, tastăm pur și simplu comanda SET, urmată de variabilă și apoi setăm variabila la egal cu% RANDOM%. Încă o dată, nu trebuie să fie capital, dar îmi place să o fac oricum. Deci, tastăm: SET / a variabilă =% RANDOM% Evident, aceasta nu este o variabilă specificată de utilizator, așa că includem / a. Misto! Deci, acum știm cum să producem un număr aleatoriu! Dar cât de aleatoriu este? Ei bine, se pare că computerul alege un număr între 0 și undeva în jurul valorii de 37 000. Nu sunt sigur care este numărul exact. Dar dacă vrem un număr mai mic? Să presupunem că, ca în acest Instructable, dorim un număr ușor de gestionat pentru ceva de genul unui joc de ghicire? Ei bine, aici intră comanda IF….

Pasul 4: Comenzile IF și GOTO. Puterea în mâinile scriitorului de loturi

Comenzile IF și GOTO. Puterea în mâinile scriitorului lot
Comenzile IF și GOTO. Puterea în mâinile scriitorului lot

Deci, vrem să producem un număr gestionabil. Să presupunem că vrem să producem un număr aleatoriu între 1 și 20. Bine, este ușor de spus, dar valoarea RANDOM alege un număr între 1 și 37, 000. Pentru asta vom folosi IF. Comanda IF spune practic dacă se întâmplă ceva sau dacă ceva este egal sau nu egal cu o anumită valoare, APOI faceți ACEST lucru. Deci, IF setează comenzi condiționale. Vrem să producem un număr mai mic de douăzeci, dar mai mare decât unul, evident, vom începe cu a spune computerului să aleagă un număr aleatoriu, dar apoi va trebui să îi putem spune să aleagă un nou numărul dacă numărul pe care îl alege nu se potrivește cu cerințele noastre. Aici intervine comanda GOTO. GOTO îi spune computerului să meargă la o anumită etichetă din cod. Etichetele arată astfel: pick Orice cuvânt plasat după două puncte devine o etichetă pe care o putem accesa cu comanda GOTO. Deci, dacă vrem să mergem la secțiunea de cod cu eticheta „pick” deasupra ei, tastăm pur și simplu: GOTO pickAlright, deci să continuăm cu codarea noastră. Am spus deja computerului să aleagă un număr aleatoriu, așa că am tastat: SET / a answer =% RANDOM% Acum vrem să tragem acest număr într-un interval mai mic. Deci vom invoca comanda IF. Ceva ca acesta ar trebui să facă truc: DACĂ% răspuns% GTR 20 GOTO pick Acest lucru îi spune computerului să GOTO alege DACĂ răspunsul este mai mare de 20. Am putea pune oricare dintre aceste condiții pe acea comandă IF: EQU - EgalNEQ - Nu EgalLSS - Less ThanGTR - Greater ThanLEQ - Less than or Egal ToGEQ - Greater Than or Equal To Așa, cu IF, GOTO, etichete și aceste abrevieri, putem manipula fișierul lot în orice mod alegem. Bine, deci avem numărul nostru aleatoriu sub douăzeci acum și iată ce avem până acum: pickSET / a answer =% RANDOM% IF% answer% GTR 20 GOTO pickNow, să ne asigurăm că computerul nu alegeți 0 pentru răspuns.:pickSET / a answer =% RANDOM% IF% answer% GTR 20 GOTO pickIF $ answer% EQU 0 GOTO pickBine! Acum avem un număr utilizabil între 1 și 20. Să trecem la carnea lotului.

Pasul 5: Carnea jocului nostru

Carnea jocului nostru
Carnea jocului nostru

În regulă, avem numărul nostru aleatoriu. De asemenea, dorim să numărăm câte presupuneri face jucătorul nostru, așa că vom seta o altă variabilă: SET / a guessnum = 0 Aceasta setează variabila geussnum la zero și i-am dat parametrul / a, așa că vom putea adăuga la el de fiecare dată când utilizatorul ghicește. Bine. Avem un număr aleatoriu și am stabilit numărul de presupuneri. Acum avem nevoie de câteva instrucțiuni și trebuie să avem câteva informații de utilizator pentru numărul de estimare. Ar trebui să înțelegeți majoritatea acestui lucru până acum, așa că vă voi arăta doar codul: beginECHO Mă voi gândi la un număr ECO mă gândesc ….. SET / a GuessNum = 0 (Acest ECHO este acele două linii și setează numărul de presupuneri la 0): pickASET / a Răspuns =% RANDOM% IF% Răspuns% GTR 20 GOTO pickAIF% Răspuns% EQU 0 GOTO pickAECHO Mă gândesc la un număr între 1 și 20ECHO Ghiciți la ce număr mă gândesc din. (Această secțiune se desfășoară până când SETează numărul nostru aleatoriu, apoi ECHOs instrucțiunile pentru jucătorul nostru): RetrySET / p Ghici = IF% Ghici% LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns% ECHO Numărul meu este mai mic. IF% Guess% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO Încercați din nou (Această secțiune spune computerului să solicite intrarea utilizatorului și apoi se bucură continuu până când utilizatorul alege numărul corect. Apoi, se duce la eticheta END): ENDECHO Sunteți corect! Răspunsul a fost% Răspuns% ECHO A fost nevoie de% GuessNum% Guesses. ECHO. PAUSECLSECHO Doriți să jucați din nou? 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 (Iată secțiunea noastră finală. Aceasta îi spune utilizatorului câte presupuneri au luat și apoi întreabă dacă ar dori pentru a reda din nou. Observați că putem folosi EQU, GTR și LSS și cu litere.) Bine! Dacă ați copiat pur și simplu acest cod, ați avea un joc de ghicit. Nu este o fantezie reală, dar hei, este mai bine decât pot face majoritatea oamenilor. Dar vom adăuga o mică întorsătură, doar pentru a face lucrurile interesante ….

Pasul 6: Twist

Twist
Twist
Twist
Twist
Twist
Twist

Acum, avem un joc de lucru chiar acum, dar vrem să-l facem puțin mai interesant. Ce zici de adăugarea unor stimulente pentru ca jucătorul nostru să ghicească numărul potrivit? Ce-ar fi să facem ceva de genul … închiderea computerului dacă nu ghicesc numărul? Ar fi destul de cool! Bine, acum vom adăuga un mic cod pentru a face aceste modificări. Mai întâi, vom adăuga o linie la secțiunea de cod pe care am etichetat-o „reîncercați”. Deci, mergeți să găsiți acea secțiune. Se pare astfel: RetrySET / p Ghici = IF% Ghici% LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns% ECHO Numărul meu este mai mic. IF% Ghici% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO RetryOkay, vom adăuga această linie imediat după „ECHO”. (Când punem un punct după ECHO, acesta lasă o linie goală.) Iată noul cod: IF% GuessNum% EQU 4 GOTO shutdown G Când adăugăm această linie, secțiunea arată astfel: RetrySET / p Guess = IF% Guess% LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns% ECHO Numărul meu este mai mic. IF% Ghici% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1IF% GuessNum% EQU 4 GOTO shutdown GGOTO Retry Până acum, ar trebui să fie destul de evident ce face acest lucru. Acesta spune computerului că, dacă GuessNum EQUals 4, ar trebui să meargă la secțiunea codului etichetat „shutdownG”. Deci, ce vrem să spună această secțiune de închidere? Ei bine, evident, trebuie să fie etichetat „shutdownG”. Apoi, trebuie să oprească computerul. Comanda de oprire este „SHUTDOWN -s”. Aceasta va închide computerul, dar dorim să adăugăm câteva la comandă. Vom adăuga un „-f”. Aceasta va forța închiderea tuturor programelor și vom adăuga un „-t 60”. Acest lucru va spune computerului să afișeze o fereastră și să aștepte șaizeci de secunde pentru a se închide. Vom adăuga și mesajul „-c” aici „”. care va afișa un mesaj în fereastra de închidere. După comanda noastră de oprire, vom aborda același cod pe care îl avem mai sus, codul care permite jucătorului nostru să aleagă numere și să le ofere feedback. Deci, codul nostru de oprire arată acum: shutdownGSHUTDOWN -s -f -t 60 -c "Continuați să ghiciți! Dacă nu ghiciți numărul corect, computerul se va opri!": shutdownG1SET / p Ghici = IF% Ghici% LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns % ECHO Numărul meu este mai mic. IF% Guess% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO shutdownG1 Acum am setat computerul pe SHUTDOWN și afișăm un mesaj, dar trebuie să spunem și computer pentru a opri oprirea, dacă a fost inițiată. Deci, vom adăuga acest lucru la secțiunea de codificare etichetată „sfârșit”. Această secțiune arată astfel: ENDIF% GuessNum% GTR 4 SHUTDOWN -aECHO Sunteți corect! Răspunsul a fost% Răspuns% ECHO A fost nevoie de% GuessNum% Guesses. ECHO. PAUSECLSECHO Doriți să jucați din nou? 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 playagainVrem să oprim închiderea și facem asta cu comanda „SHUTDOWN -a”. Deci, vom adăuga o linie care merge astfel: IF% GuessNum% GTR 4 SHUTDOWN -aVom adăuga acea comandă imediat după etichetă și care va spune computerului să ruleze SHUTDOWN -o comandă numai dacă jucătorul are a făcut mai mult de patru presupuneri și a început oprirea. Bine! ar trebui să ai jocul terminat acum! Ne vom asigura că nu există erori în pasul următor.

Pasul 7: pașii finali

Pașii finali
Pașii finali

Bine, acum, dacă ați strâns toate aceste coduri, atunci veți avea ceva care arată așa: beginECHO Mă voi gândi la un număr ECO mă gândesc ….. SET / a GuessNum = 0: pickASET / a Răspuns =% RANDOM% IF% Răspuns% GTR 20 GOTO pickAIF% Răspuns% EQU 0 GOTO pickAECHO Mă gândesc la un număr între 1 și 20ECHO Ghiciți la ce număr mă gândesc.:RetrySET / p Ghiciți = IF% Ghiciți % LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns% ECHO Numărul meu este mai mic. IF% Ghici% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1IF% GuessNum% EQU 4 GOTO shutdown GGOTO Reîncercați: ENDIF% GuessNum% GTR 4 SHUTDOWN -aECHO Sunteți corect! Răspunsul a fost% Răspuns% ECHO A fost nevoie de% GuessNum% Guesses. ECHO. PAUSECLSECHO Doriți să jucați din nou? 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 Vă mulțumim că ați jucat! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c "Continuați să ghiciți ! Dacă nu ghiciți numărul corect, computerul se va opri! ": ShutdownG1SET / p Ghici = IF% Ghici% LSS% Răspuns% ECHO Numărul meu este mai mare. IF% Ghici% GTR% Răspuns% ECHO Numărul meu este Mai mic. IF% Guess% ==% Răspuns% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO shutdownG1 Ar trebui să fie tot ce avem nevoie nu? Deci, mergeți mai departe și salvați fișierul.txt al notepad-ului pe care îl aveți ca GuessGame.bat. De fapt, îl puteți numi oricum doriți, atâta timp cât puneți.bat la final. Bine, deci faceți clic pe pictogramă și rulați programul! A funcționat? Ei bine, sorta. Face niște lucruri ciudate, nu-i așa? Se pare că atunci când scriem un lot ca acesta, promptul de comandă ECHO la fiecare comandă pe care i-o dăm, la fel ca și când i-am fi tastat în promptul de comandă. Deci, jocul funcționează, dar este cam dezordonat și neclar. Putem face ceva în legătură cu asta? Da! Tot ce trebuie să facem este să tastați această linie chiar la începutul codului nostru: @ECHO OFF Aceasta îi spune computerului să oprească ECHO. Și semnul @ de la cerșit îi spune să oprească ECHO pentru fiecare comandă. Dacă am lăsa acel @ afară, atunci ECHO ar fi dezactivat doar pentru o singură comandă.

Pasul 8: Toate gata

Felicitări! Tocmai ai scris un joc de fișiere Batch. Destul de simplu nu-i așa? Dacă reușiți să faceți acest lucru, vă puteți da seama cum faceți destul de mult cu fișierele Batch. Doar joacă-te cu el, fă niște experimente. Doar în cazul în care nu ați reușit să funcționați ceva sau în cazul în care am lăsat ceva în afara codificării, vă voi da fișierul aici.

Recomandat: