The Windows batch scripting language was created mainly to facilitate certain administrative tasks and not to completely replace other full-fledged alternatives. While it supports certain programming concepts such as functions and loops, some quite basic operations like string manipulations might be less obvious to implement compared to many other programming languages. The code can be executed directly from the cmd.exe console interface or by creating a file with the .cmd or .bat extensions (note that the commands are case-insensitive).
The list of supported commands remains quite ascetic, even today. All commands can be split into two groups, as follows:
- Built-in: This set of commands provides the most fundamental functionality and is embedded into the interpreter itself. This means that the commands don't have their own executable files. Some example commands that might be of an attacker's interest include the following:
- call: This command executes...