.bat (short for batch) files offer a lot of automation - especially for applications which do not offer a user interface. These scripts can issue argments to programs (such as install executables), sent environment variables, and even run other bat files. I like to use bat files to clean temp files at startup.
When running bat files from within a bat file, it is important to set the present working directory (pwd) to that of the script. This helps prevent you from accidentally modifying other parts of the system. After you have called other bat files (which may change changed the pwd), it is important to set the pwd again.
The command to do this is 'cd /d %~dp0', but let's see how it's used in context.
rem Prevent displaying of future rem lines
@echo off
rem Clear the screen
cls
echo Say something to the console
rem Set the current directory as present working directory
cd /d %~dp0
rem Call another bat file
call other_bat_file.bat
rem Set the current directory as present working directory
rem The other_bat_file may have changed it
cd /d %~dp0
rem Call another bat file (that has file spaces)
call "other bat file.bat"
rem Set the current directory as present working directory
rem The other bat file may have changed it
cd /d %~dp0
rem Pipe the output of a bat file to a txt file
call bat_file_with_reporting.bat > out.txt
rem Set the current directory as present working directory
rem The other bat file may have changed it
cd /d %~dp0