Cum poti sa programezi folosind terminalul de comenzi Windows
Atunci cand m-am asezat pentru prima oara la un calculator aveam in fata doar o tastatura si un ecran negru. Fara mouse si fara interfata grafica. Dar experienta aceea n-a fost nici pe departe asa de sumbra cum ti-ar putea parea.
O sa iti fac cunostinta cu un prieten vechi din acea perioada. E vorba despre interpretorul de comenzi pe care il gasesti si azi in sistemele de operare de tip Windows.
Il gasesti sub numele de Command Prompt sau Windows Console si e vorba de acel program cmd.exe care iti arata intr-o fereastra mica si neagra un soi de “poza” a unei lumi pre-Windows. O poza dintr-o lume cand succesiunea de litere MSDOS avea sens fara cautari pe Google.
Te intrebi cum ai putea sa interactionezi cu un calculator fara sa folosesti mouse-ul?
Prin comenzi scrise. Prin instructiuni (si nu prin actiuni).
In era MS-DOS simpla utilizare unui sistem de operare aducea (cel putin in aparenta) destul de mult cu activitatea unui programator.
Caci programatorii scriu instructiuni, nu fac click-uri pe butoane, nu?
Te intrebi si cum de aceasta “dinozaurica” interfata a sistemului de operare MS-DOS inca traieste si in zilele noastre sub forma consolei de comenzi Windows?
Raspunsul consta in puterea pe care o ofera utilizatorului experimentat. De fapt, utilizatorului cu abilitati de programare.
(Ai fi surprins(a), poate, sa vezi cum printr-o comanda de un sfert de rand poti modifica instant numele a o suta de fisiere. Cat timp crezi ca ti-ar lua aceasta operatiune daca ai folosi interfata grafica a sistemului de operare Windows?)
Vreau sa iti arat in acest articol cum poti folosi “command prompt”-ul ca sa faci programe.
Deci, DA — surpriza!! 🙂
Pe calculatorul tau exista cel putin doua programe care iti permit sa faci programe. Unul este browser-ul web — asa cum ai vazut in lectiile de pana acum de pe site; iar celalalt este acest terminal de comenzi despre care vorbim aici.
#1 Program de salutat
Gata cu vorbaria — hai sa ne apucam de treaba! Deschide Notepad-ul, scrie programul urmator:
@echo off
rem Program de facut cunostinta cu calculatorul
echo (Calculator:) Salut! Cum te numesti?
set /p nume=(Tu:)
echo (Calculator:) Salut, %nume%!
pause
si salveaza fisierul sub numele Salut.bat. (Numele e la alegere, dar extensia .bat e obligatorie.)
Daca faci acum dublu click pe fisierul nou creat, Windows-ul iti va deschide automat terminalul de comenzi (cmd.exe) si va rula “programul” (script-ul) scris in fisier.
(Poti sa tai pauza de la final (comanda pause), sa dai Save (in Notepad, desigur) si sa rulezi din nou fisierul Salut.bat (cu dublu click pe el) — ca sa vezi ce se intampla. Exact! dupa incheierea rularii programului consola se inchide automat. (Comanda pause, insa, intarzie treaba asta pana la apasarea unei taste.))
Iata cateva poze din timpul rularii programului:
#2 Program de numarat
Ai vazut, deci, ca terminalul Windows permite comentarii (comanda rem …), afisari de texte (comanda echo …) si citiri de texte de la tastatura (comanda set /p …). Dar mai permite si alte lucruri.
Hai sa iti arat acum cum ai putea face un program pe care deja stii sa il faci in simulatorul nostru bazat pe JavaScript. Iata despre ce program e vorba:
// Program de numarat
var i = 0;
while(i<=9)
{
Afiseaza(i, 1, 10-i);
i = i+1;
}
Iti e clar ce face acest program, da? (Daca mi-ai urmarit lectiile de pe site (vezi la cuprins), n-ar trebui sa-ti fie prea greu). Intra aici si testeaza-l.
Poti face un program similar intr-un fisier batch (adica un fisier (cu extensia .bat) ce contine comenzi recunoscute de interpretorul cmd.exe). Iata programul mai jos:
@echo off
rem Program de numarat
set i=0
:repeta
if not %i% leq 9 goto :sfarsit
echo %i%
set /a i=i+1
goto repeta
:sfarsit
pause
Scrie acest program intr-un fisier text nou pe care il poti denumi Numara.bat si apoi fa dublu click pe acest nou fisier.
Ti-a aparut asa ceva?:
Cam seamana rezultatul cu cel al programului anterior, asa-i?
Dar si programele seamana. Iata-le comparativ in figura asta:
Varianta din dreapta are un aer mai “incifrat”, dar e totusi interesanta, nu? 🙂 (A se observa cum se simuleaza acolo instructiunea while (cat timp…) cu ajutorul instructiunilor if (daca…) si goto (du-te la…). Poate ca iti pare foarte intortocheata treaba asta, dar sa stii ca microprocesorul din calculatorul tau cam asa functioneaza in realitate.)
Stiu ca ai ramas cu multe semne de intrebare in urma parcurgerii acestui articol, dar sper ca ti-am deschis “apetitul” pentru acest mod de programare rezervat pana acum doar “hackerilor”. 🙂
Ia zi-mi, te rog, cum ai face ca ultimul program prezentat aici sa numere nu de la 0 la 9, ci de la 9 la 0?
Alatura-te celor peste 4000 de oameni din armata noastra de creiere cu muschi si vei primi testul care iti va spune daca ai sau nu minte de programator:
Cu drag,