Like ebgreen said MSDN is pretty much the best resource out there and scripting guys have some neat tips and tricks for you to learn.
As to how I learn, it is pretty funny.
I first got interested into batch files because they were simple and did what I needed. I messed with VBScript for a few things but didn't understand it too well and though batch would be good enough.
Eventually I got curious enough to delve into it even more. The best way I learned was to find scripts to make.
For instance, I wanted to make a script that would allow a PC to call a shutdown routine but I wanted to be able to prompt the user to make a choice, if no choice was give, it would automatically advance.
So I had to look for the following things:
A) how to issue a shutdown to a PC
B) how to prompt the user for input as well as have a timeout
And this would lead you to the popup "form" and the WMI connection string and shutdown method.
So all in all, finding something you want to script and the researching HOW it is done is the best way to learn it. Going all gungho is nice and all, but you don't learn as much as you would otherwise.