Deoarece CMD.exe e scris in asa fel incat sa recunoasca aceleasi comenzi ca cele folosite candva in MS-DOS. Parametrii tai functionali sunt transmisi folosind api-ul windows, cmd-ul in sine nu are nimic de-a face cu asta - este un executabil care face apelurile corespunzatoare atunci cand il folosesti. Cat despre exercitiul tau de logica, cmd.exe simuleaza comenzile din ms-dos deci seamana la suprafata cu interfata acestuia. N-ai observat ca windows-ul tau nu face folosinta de absolut niciun script .bat, de niciun apel catre cmd pt a rula normal. Cmd este doar un emulator. MS-DOS este un sistem de operare, iar in sistemele actuale(>=windows nt 3.1) nu exista nicio bucata de cod care ruleaza folosind functii,api-uri sau orice tine de acesta. Asa ca nu te mai entuziasma tu pt ca poti lista directoare la fel cum o faceai in ms-dos. MS-DOS = sistem de operare. CMD = executabil ce ofera CLI si apeleaza functii din windows API corespunzatoare sau alte executabile din sistem. [Exemplu: pt a crea un proces nou apeleaza functia CreateProcess(..) ce se afla in Kernel32.dll.] Cum pot fi asemanate cele doua cand sunt lucruri total diferite?