Documente Academic
Documente Profesional
Documente Cultură
Resurse
1
2
3
2 Interpreterul de comenzi
Orice sistem de operare are un program ce interpreteaz i execut comenzi numit
shell. El este o interfa ntre sistemul de operare i utilizator. In cazul sistemului de
operare Windows aceste comenzi se execut ntr-o fereastr DOS. Pentru a deschide o
fereastr DOS se execut un clic pe opiunea Run a meniului Start, vezi Figura 4.
Deschiderea unei ferestre DOS se poate face i pornind de la meniul Start. Se execut
succesiv clic pe opiunile Programs Accessories Command Prompt. Fereastra
DOS afiat pe ecran este artat n Figura 6.
3.1
Extensie
Atribute
Timp
Data
Numrul
primului bloc Dimensiune
din fiier
Nume de fiiere
In sistemul de operare MS-DOS numele unui fiier are forma nume.extensie. Numele
const din cel mult 8 caractere iar extensia din maxim 3 caractere. Numele de fiiere
MS-DOS nu pot conine caracterele \ / : * ? " < > |. In sistemul de operare Windows se
pot utiliza nume de fiiere lungi de pn la 255 caractere. Pentru aceasta, orice fiier
sau director are dou nume: unul de 8+3 caractere pentru compatibilitate MS-DOS i
unul lung. Dac numele fiierului este lung, Windows creaz un nume tip MS-DOS
format din primele 6 caractere urmat de ~1, ~2, etc, iar extensia se trunchiaz la 3
caractere. In cazul n care numele fiierului conine spaii, acestea se elimin i se
rein primele 6 caractere urmate de ~1, etc. De exemplu, numele de director All Users,
ce conine un spaiu, este transformat n AllUse~1. Numele de fiiere duble care
rezult din transformarea numelor lungi n cele MS-DOS sunt urmate de ~2, ~3, etc.
De exemplu, numele de director Documents se transform n Docume~1, numele de
director Documents1 se transform n Docume~2, etc.
Menionm c fiierele ce conin programe executabile au extensia exe.
Sistemul de fiiere al sistemului de operare Windows este organizat sub forma unui
arbore de directoare. Fiecare director poate conine alte directoare i fiiere. Discul
dur al calculatorului este divizat n discuri logice ce au denumirile c :, d :, etc. Pe
fiecare disc logic exist un sistem de fiiere organizat sub forma unui arbore. Primul
nivel al structurii arborescente este reprezentat de directorul rdcin (Root), care este
creat de sistemul de operare. El conine toate celelalte directoare i fiiere. Fiecare
director conine la rndul lui alte directoare i fiiere. Directorul rdcin este
reprezentat prin \. Un fiier sau un director n ierarhie este specificat prin calea
absolut de la directorul rdcin. Ea const din lista directoarelor traversate de la
directorul rdcin la directorul ce conine fiierul, cu componentele separate de \.
Calea absolut ncepe cu \. In orice moment orice proces are un director curent de
lucru. Calea de la directorul curent la un subdirector se numete cale relativ. Calea
relativ nu ncepe cu \.
3.2
Sistemul de operare are funcii pentru lucrul cu directoare. Comenzile pentru lucrul cu
directoare sunt cele din Tabelul 1.
Comanda
Crearea unui director
Stergerea unui director
Modificarea directorului curent
Copierea unui fiier
Redenumirea unui fiier
Stergerea unui fiier
Compararea a dou fiiere
Mutarea unui fiier
Listarea unui fiier
Forma general
mkdir
nume
md
rmdir
nume
nume
rd
chdir
nume
nume
cd
nume
copy dest sursa
rename nume
ren
nume
del nume
fc nume1 nume 2
move sursa dest
type name
In tabelul de mai sus numele unui fiier sau director poate conine calea relativ sau
cea absolut.
La crearea unui director sunt create automat dou elemente cu numele . (punct) i ..
(dou puncte). Acestea sunt :
directorul curent este desemnat prin . (punct),
directorul printe al directorului curent este desemnat prin .. (dou puncte).
Exemple. Comanda
cd..
face ca directorul printe s devin directorul curent. Comanda
cd \
face ca directorul rdcin s devin directorul curent.
Comanda
mkdir test
creaz n directorul curent un subdirector cu numele test.
8
Comenzi MS-DOS
10
11
Comanda for
Permite execuia repetat a unei comenzi. Forma comenzii ntr-o linie de comand
este
for
%var
in
(mulime de valori) do
comand
iar ntr-un fiier de comenzi
for
%%var
in
(mulime de valori) do
comand
Mulimea de valori conine valori separate de spaii sau virgule. Comanda se execut
cu variabila var lund pe rnd toate valorile mulimii.
Exemplu. S listm directoarele rdcin de pe unitile de disc a: i c:
for
%x in (a:, c:) do dir %x
In exemplul de mai sus variabila x ia valorile a: i c :.
Exemplu. Fie trei fiiere file1.txt, file2.txt, file3.txt n directorul curent. Pentru a lista
aceste trei fiiere utilizm comanda
for
%a in (file1.txt, file2.txt, file3.txt) do type %a
In exemplul de mai sus variabila a ia valorile: file1.txt, file2.txt, file3.txt
re
Etichete
Pentru a transfera controlul execuiei unui fiier de comenzi n diverse puncte utilizm
etichete. O etichet are unu la opt caractere, litere sau cifre, primul character fiind o
liter. O etichet este scris singur pe o linie dup caracterul:
Exemplu.
:labelx
este comanda ce declar eticheta labelx.
Comanda goto
are forma:
goto eticheta
Interpretorul de comenzi trece la execuia comenzii din linia ce urmeaz dup
eticheta.
Comanda if
Permite execuia unei comenzi dac o anumit condiie este adevrat. Forma
comenzii este:
if
[not] condiie comanda
if
[not] condiie (comanda) else (comanda)
In forma a doua a instruciunii argumentele comanda se scriu obligatoriu n paranteze.
Condiiile ce se pot testa sunt:
Existena unui fiier. In acest caz comanda if are forma:
if [not] exist filename
comanda
if [not] exit filename (comanda) else (comanda)
In forma a doua a instruciunii argumentele comanda se scriu obligatoriu n paranteze.
Exemplu. S testm dac n directorul curent exist fiierul file.txt Pentru a afia un
mesaj putem utiliza una din cele dou forme ale comenzii:
if exist file.txt (echo file.txt exists) else (echo file.txt missing)
if not exist file.txt (echo file.txt missing) else (echo file.txt exists)
12
sir1
EQU
NEQ
LSS
LEQ
GTR
GEQ
sir 2
comanda
(comanda)
else
(comanda)
4.2
Fiiere de comenzi
13
:loop
if %1 = = goto stop
echo %1
shift
goto loop
:stop
echo stop
Comanda rem
Forma comenzii este:
rem ir de caractere
Comanda rem conine comentarii.
Comanda call
Comanda call apeleaz un fiier de comenzi. Forma ei este:
call
nume fiier
Exemplu. Presupunem c avem dou fiiere de comenzi aaa.bat i bbb.bat n acelai
director i vrem s apelm fiierul aaa.bat n interiorul fiierului bbb.bat. Fiierul
bbb.bat va fi urmtorul:
echo apeleaza aaa.bat
call
aaa.bat
echo s-a executat aaa.bat
Variabile sistem
Sistemul de operare are nite variabile predefinite numite variabile sistem, utilizate n
scopuri speciale. Tabelul urmtor conine cteva dintre aceste variabile i semnificaia
lor.
Variabila
PATH
OS
homepath
username
systemdrive
systemroot
Semnificaie
Indic sistemului de operare unde s caute programele pe care s le
execute, dac ele nu se afl n directorul curent
Conine numele sistemului de operare
Conine calea directorului curent
Conine numele calculatorului
Conine unitatea de disc pe care se afl sistemul de operare
Conine directorul n care se afl sistemul de operare
Tabelul 2. Variabile sistem
14
In fiierele de comenzi putem defini noi variabile i putem atribui valori acestora ct
i variabilelor sistem cu comanda set. Forma acestei comenzi este:
set
nume=valoare
Pentru a utiliza valoarea unei variabile numevar vom scrie %numevar%.
Exemplu. S presupunem urmtoarea structur de directoare
C:
----- Documents and Settings
----- Administrator
----- Users
Presupunem c n directorul Administrator avem fiierul de comenzi aaa.bat, iar n
directorul Users avem fiierul de comenzi bbb.bat. In fiierul de comenzi bbb.bat
avem comanda
call
aaa.bat
care apeleaz fiierul aaa.bat.
Pentru execuia acestei comenzi este nevoie ca variabila PATH s conin calea
C:\Docume~1\Administrator
Pentru aceasta n fiierul de comenzi bbb.bat vom aduga la variabila PATH aceast
cale. Fiierul de comenzi bbb.bat va fi urmtorul:
rem salvam valoarea variabilei PATH
set PATH1=%PATH%
echo %PATH1%
rem adaugam calea c:\ Docume~1\Administrator la variabila PATH
set PATH=%PATH%;c:\ Docume~1\Administrator
echo %PATH%
call aaa.bat
rem refacem vechea valoare a variabilei PATH
set PATH=%PATH1%
echo %PATH%
De remarcat n acest fiier faptul c, pentru a utiliza valoarea unei variabile numevar,
am scris %numevar%. Dac de exemplu am scrie n fiierul de mai sus
echo PATH
s-ar afia irul PATH i nu valoarea variabilei PATH.
15
5 Chestiuni de studiat
In directorul My Documents se va crea un director nou cu numele exemple. In timpul
lucrrii vor fi afiate simultan pe ecran fereastra DOS i fereastra directorului exemple
afiat n Windows Explorer, ca n Figura 11.
16
Fiierul va conine :
o instruciune rem ce va specifica funcia fiierului,
o instruciune echo ce va afia funcia fiierului pe ecran,
o instruciune call ce va apela fiierul de comenzi creat la punctul c.
e) n directorul diry se vor crea 4 fiiere cu numele alfa.txt, alf.txt, alb.txt i
beta.txt cu editorul Notepad.
se va afia coninutul directorului diry cu comanda dir,
se vor afia fiierele ce ncep cu a cu comanda dir,
se vor afia fiierele ce ncep cu b cu comanda dir,
se vor afia fiierele alf.txt i alb.txt cu comanda dir,
se vor lista fiierele ce ncep cu alf cu comanda type.
Pentru a afia doar fiierele cerute vezi o lucrare anterioar.
f) se va lansa aplicaia Notepad de la linia de comand i se va crea un fiier n
directorul dirx. Se vor examina atributele fiierului exe al aplicaiei Notepad.
17
6 Intrebri de control
1. Cum se descriu numele fiierelor i directoarelor la cutarea fiierelor i
directoarelor pe disc ?
2. Care este diferena ntre calea relativ i cea absolut la specificarea unui
fiier?
3. Care este comanda de afiare a coninutului unui director?
4. Care sunt comenzile DOS pentru lucrul cu directoare ?
5. Care este forma comenzii for ?
6. Care este rolul fiierelor de comenzi ?
18