Documente Academic
Documente Profesional
Documente Cultură
Un fiier de comenzi este un fisier text care conine una sau mai multe comenzi si / sau
directive care se execut succesiv, far intervenia direct a utilizatorului. Numele unui astfel de
fiier, in cazul SO DOS trebuie urmat de tipul fiierului *.bat. Un prim exemplu de fisier de
comenzi DOS este fisierul autoexec.bat, daspre care vom discuta intr-un laborator urmtor. Daca
acest fiier este prezent in directorul radcin de pe partiia de bootare a sistemului de operare,
DOS execut automat comenzile din el la fiecare incrcare a sistemului. Un fiier de comenzi
DOS conine in el mai multe tipuri de construcii:
etichete;
Exemplu: Fiier care listeaz fiierele cu extensia .pdf din directorul curent, le copiaz pe
dischet i apoi le terge .
Nume fisier
Continutul fisierului
muta.bat
dir *.pdf
copy *. pdf a:\
del *. pdf
O etichet se scrie sub forma:: nume, caracterul ":" fiind urmat de maximum 8 litere sau
cifre. O etichet apare (ca definitie) pe o singur linie, la inceput de rand.
Caracterele speciale | < > sunt interpretate in comenzi ca i legare in pipe a doau
comenzi, respectiv pentru redirectarea intrarii si / sau a ieirii standard a unei comenzi. Pentru a
fi interpretate ca i caractere obinuite ele trebuiesc scrise intre ghilimele. Spre exemplu, o linie
de forma; A | B este interpretat ca o succesiune a comenzilor A si B, legate in pipe. In
schimb o linie de forma: A "|" B este interpretat ca o singura comand A, care are doi
parametrii, o bara vertical | i caracterul B.
Caracterul @ plasat ca prim caracter intr-o linie are ca efect neafiarea linie pe ecran.
Linia este ins prelucrat de ctre interpretorul fiierelor de comenzi.
Caracterul % marcheaz parametrii formali , variabilele globale i variabilele locale.
In fiierul de comenzi pot aprea pana la 10 parametri formali , notai cu %0 %1 ... %9.
Corespunzator acestora in linia de comand, care lanseaz in execuie fiierul de comenzi
argumentele sunt puse in corespondent cu aceti parametri.
Variabilele globale sunt cele care au primt valori prin comanda SET. Pentru a avea acces
la ele numele lor trebuie cuprinse intre doua caractere %. Prin intermediul acestor variabile se
poate dirija anticipat aciunea unui fiier de comenzi, sau dou fiiere de comenzi pot comunica
intre ele. Spre exemplu,presupunem c s-a dat o comand: SET DEST=c:\lucru atunci intr-un
fiier de comenzi ce se lanseaz ulterior poate sa apara comanda: copy *.pdf %DEST%.
Directiva for - permite prelucrarea iterativ a unei comenzi dintr-un fiier de comenzi. %%
variabila este o variabila local de ciclare. Ea este secvenial inlocuit cu toate valorile din
mulime i apoi evaluat i executat. Daca un membru al mulimii este o expresie construit
generic (cu * si/sau ?), atunci %%variabila va fi inlocuit pe rand cu toate numele de fiier care
se potrivesc cu aceasta expresie.
Directiva call - permite apelul (lansarea in executie) a unui fiier de comenzi din altul. La
terminarea fiierului apelat controlul revine fiierului care l-a apelat. Tot aici se poate spune c
este posibil ca ultima linie a unui fiier de comenzi poate fi lansarea in execuie a unui alt fiier
de comenzi, far directiva call. In acest caz se realizeaz o inlantuire a celor dou fisiere.
Directiva goto - transfer controlul in fisierul de comenzi in linia de comand situat dup
eticheta specificat.
Directiva if - permite execuia conditionat a unei comenzi DOS din fiierul de comenzi, sau a
unei alte directive.
Directiva shift - permite folosirea a mai mult de zece parametrii formali. Efectul ei este acela de
a decala parametrii formali, fcand s se piard parametrul %0, parametrul care era %1 sa devin
%0, parametrul care era %2 sa devin %1,etc.
Directiva echo
echo on - la lansarea unei linii in execuie aceasta este afiata pe ecran
echo off - la lansarea unei linii in execuie aceasta nu este afisat pe ecran, dar totui executat
2. S se realizeze un program care s vrifice existena fiierului SO.txt fiier care a fost
creat la punctul anterior. Fisierul trebuie s fie denumit bat2.bat
Rezolvare
@ECHO OFF
ECHO.
ECHO Ok ! Vom verifica daca ai fisierul so.txt din directorul LABORATOR
ECHO.
ECHO Apasa o tasta i i ti voi spune dac il ai.
ECHO.
PAUSE
IF EXIST c:\laborator\so.txt ECHO Da fisierul cautat exista
IF NOT EXIST c:\laborator\so.txt ECHO Nu ..fisierul cautat nu exista
PAUSE
3. Sa se realize un program (fiier bat) care s stearg structura definit anterior. Fiierul
trebuie s fie denumit bat3.bat
@echo off
:start
Cls
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo @ Introdu numarul optiunii alese @
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo 1:Restart
echo 2:Inchidere consola
echo ....................................
CHOICE /C:12 /n
IF errorlevel 2 goto 2
IF errorlevel 1 goto 1
goto start
:1
Shutdown /r
pause
goto start
:2
Exit
pause
goto start
Exit
Teme de laborator:
1. S se realize un program (fisier bat) care s relizeze o structur arborescent care s
conin cel puin 4 directoare i 5 fiiere text. Fiierul trebuie s fie denumit tema1.bat.
2. S se realizeze un program (fiier bat) care s verifice dac a fost creat structura
arborescent de la punctul anterior. Fiierul trebuie s fie denumit tema2.bat.
3. Sa se realizeze un program(fisier bat) in care s folosii minim 6 comenzi dos selectabile
prin meniu (vezi aplicatia 5 laborator). Fiierul trebuie s fie denumit tema3.bat.
4. S se realizeze un program(fisier bat) in care s avei un meniu ce d posibilitatea
modificrii culorilor interfeei comand promt. Fiierul trebuie s fie denumit tema4.bat.