Part of the issue with Windows is that the out-of-the-box scripting capability just wasn't there. Compare writing a batch script with a shell or perl script.
Add to that inconsistencies in how commands handled spaces in names and issues with having to escape the '\'s in generated command lines. I know I would have avoided all of it if I wasn't being paid (well) to do it.