Handmade Hero » Forums » Code » Batch File Programming
Bits Please
10 posts
#16582 Batch File Programming
9 months ago Edited by Bits Please on Oct. 17, 2018, 9:36 p.m. Reason: Initial post

What's crackin' everybody?
It seems to be very beneficial to master batch file programming. The more I learn it, the more powerful I become as a programmer.
Unfortunately, there aren't any good resources out there on this topic... Is it because it's not as good as it seems to be, or is it just because not many programmers are familiar with this kind of approach to programming?
Also, it would be very nice of you if you could share some good resources on the matter and enlighten me!

Mārtiņš Možeiko
1940 posts / 1 project
#16583 Batch File Programming
9 months ago

Its because nowadays most serious bat-file scripts migrated to powershell. That said, I hate powershell, I still do most simple scripts in .bat. If I need to do something more serious, Python is my choice.

As for how to learn .bat file scripts, I don't really know. All information I need I get from builtin help commands:
for /?
if /?
set /?
cmd /?
echo /?
goto /?

That is enough for me.
Bits Please
10 posts
#16585 Batch File Programming
9 months ago

Hmm I see, if so then, what's the problem with powershell, and in general, what's the difference between powershell scripts and bat-file scripts, is there anything you can accomplish with powershell that is not possible with a batch file?
Mārtiņš Možeiko
1940 posts / 1 project
#16586 Batch File Programming
9 months ago

Yes, a lot. Powershell can instantiate COM objects or call C# code in .NET libraries.

I don't like it because it is too verbose to type for simple things. How do you get list of files in cmd.exe? "dir c:\folder". How do you do that in PS? "Get-ChildItem -Path C:\folder". Much more to type.

PS feels more like generic purpose programming language than small scripting thing on CLI.
117 posts

Code hacker/developer

#16608 Batch File Programming
8 months, 3 weeks ago

Yeah PowerShell is awkward honestly... But they do have default aliases for several unix commands like ls or pwd for example. You could make more aliases if you wanted to shorthand PowerShell... It's definitely powerful but as Martins said, pretty verbose...

It follows a model where everything is an "object" basically. Dude check this site out: https://www.tutorialspoint.com/batch_script/ and this: https://ss64.com/nt/

Thank me later :D

I'm the smartest man in Athens because I know that I know nothing. ~ Socrates
35 posts
#16642 Batch File Programming
8 months, 2 weeks ago

Todd, thats a great tutorial and reference.

I agree you should definitely master any batch programming to become better developer, python might be one great alternative. It will depend also whom you are working for and what are your restrictions.

I am dropping you another option, win-bash, specially if you come from a linux background and you are developing in windows. But notice I have only used this option at home, and not professional projects. Might have its cons.