I know, right? What good is FOR if it can't read lists? But, the trade-off is that pipes don't work, or at least work erratically, because each command is basically a new instance of the console, and pipes don't seem to be inherited. I would LOVE to have reliable pipes back. It is the one thing I really miss from DOS. The work-around means pretty much everything has to be output to a temp batch to run.
Too bad microsoft took so long to come to scripting table. (unix has had awesome scripting capabilities forever)
Windows is a different economy - It has never claimed to have a powerful console, so one doesn't assume the tools are there. Every DOS guy I know has a pathed directory full of toys that make up the difference. Even now, I am more likely to use external apps because I have been using them so long that their syntax is familiar... I have an old console app named LSTFILE that I prefer for processing lists, even though FOR can do it... or when I need a bang-counter, even though SET has a bang-counter built in... old dogs/new tricks : )
So I guess it is a different expectation - DOS/Win just presupposes one needs to have a toy box full of simple add-on apps, while in nix, one fights arcane syntax to do what you know is already in-built. Is one better than the other? Hard telling...
Heck, even IBM DOS 7.0 had REXX, which was incredibly powerful.
REXX is still around - I don't use it myself, as I don't have the convenience of a client/server orientation. My stuff has to work in the field, so I have pretty much written my own console apps to maintain a fair degree of portability... That which isn't native on the box (which I try very hard to adhere to), that is. There IS a portable REXX, I hear, that works in conjunction with Java somehow - but I really haven't messed with it yet, and really don't need more toys.
arcane is in the eye of the beholder. In my opinion, the sheer power of the tools available in unix systems dwarfs anything windows has that I've seen. The fact that you can use nothing but standard command line tools without even making use of any of the more esoteric functions and use them to manipulate data points up the inherent power 30+ years of development by people who want the power have given us un unix systems.
Here's one of my favorite real world examples that I've personally needed in the past: I have a 2GB logfile of querylog data from a DNS server. I need to determine who the top 20 hosts that are querying that DNS server.
sed 's/#/ /g' LOGFILE | awk '{print $11}' | sort | uniq -c | sort -nr | head -20 > LOGFILE.clients.txt