The one thing I would say here that if you are planning on learning a language in full is that batch is pretty limited in its potential, it's fine for automating tasks that you would normally run on the command line but it's not really practical for much more than that. If you are wanting to learn to write small, fun scripts like little text based games.etc you may want to consider learning a more powerful scripting language like Python or Perl which have a lot more potential than Batch.
The real world needs people to solve solve real problems.
Here is a serious article in a serious web site,; Forbes.
http://www.forbes.com/sites/tarabrown/2012/01/10/learning-how-to-code-is-a-waste-of-time/
It is not really a joke. You can get a better job taking care of horses instead of programming computers.
That's the most ridiculous thing I've read in a long time. People learn to write software for all different reasons, maybe they find it interesting, maybe they enjoy writing software and potentially releasing it down the line, maybe it's a career path they want to follow.
And the problems software developers solve aren't "real" problems? I'd say they are, for example, software can be developed to automate many tasks in businesses saving loads of time and money. I've even written small scripts doing day-to-day work to accomplish stuff that I could have done manually but would have taken a long time.
Get a better job taking care of horses? Any evidence to back this up? What exactly constitutes a "better" job? I'd much prefer doing my job developing software where I get to sit in a nice, temperature controlled office doing something that I find interesting vs taking care of horses.