the best thing about the command line is that most new functionality is accessable reliably from the command line before a UI gets written for it. also, you don't have to wait for the display to refresh to start the next thing you want to do. just type the command, hit enter, type the next one, hit enter, etc. all while the first one is still running. if you want to keep any errors in a error log, just add 2>>errors.log to the end of the command line.

and my personal favorite... environment variable substring replacement. definitely enables some seriously cool capabilities. gui's can only emulate the command line, but never fully duplicate.

and as far as dos goes, i never wrote batch files until cmd.exe. none of my batch files even work on os'es older than 2k. (and even 2k doesnt run most of them without some changes.) cmd.exe is definitely a lot more powerful than dos ever even dreamed of being.

favorite command? latest directory enumeration:
for /F "delims=\ tokens=*" %%I in ('Dir /tc /ad /od /B %_GET_LATEST%') do if %%I GTR !_CUR_TOP! set _CUR_TOP=%%I
followed closely by my show all menu commands subroutine:

for %%I in (%AROOTOPTS::=%) Do echo. &set CMDITERCOUNT=%%I&call :NewGetOptions %%I numopts

it lists the 60 or so commands i handle in my utility cli menu script, by menu. why you ask? the ability to configure the debugger, install windows, log in, install private drivers, set up gflags, etc. and start stress on 20 or so machines, with a single mouse click, from home. yea it took a while to write the script, but i have saved more hours of manual configuration in the last couple years as a result, than there are hours since I was born 24 years ago. so it was worth it, IMHO.