Hola,
@system20100 antes cuando utilizaba Windows creaba scripts .bat para automatizar procesos a la hora de programar, por ejemplo cuando tienes un proyecto web JAVA con estructura maven para compilar tienes que escribir
mvn clean install -DskipTest para evitar tener que escribir ese código siempre desde la ruta del proyecto, tenia script .bat en una carpeta que estaba guardada como variables de entorno en windows asi que desde cualquier lugar podia ejecutar esos scripts desde el CMD
Nombre de archivo buildweb.bat
@ECHO OFF
SET JAVA_HOME=C:\programs\java\JDK
cd D:\proyect\web
mvn clean install -DskipTests
Simplemente tipeando en el cmd $ buildweb
tambien tenia un deployserver.bat el cual copiaba el archivo compilado .war en el servidor remoto por medio del protocol sftp
Esto ahorra mucho tiempo y tambien puedes hacer un archivo .bat que te muestre los comandos en caso de que los olvides
help.bat
@ECHO OFF
echo buildweb ------ compiles maven project
echo deployserver-- deploy compiled war file on test server
por cierto el lenguaje que utiliza los archivos .bat se llama
batch y tambien posee operadores logicos if, for, goto etc....

Desde que decidí programar desde linux utilizo archivos .sh con
Bash en reemplazo de los antes mecionados .bat de windows
![[SOLUCIONADO] Para que se usan el .bat](https://m6y5z8f5.stackpathcdn.com/wp-content/uploads/2015/05/learn-bash.jpg)
Otro uso cuando utilizas git tienes que hacer commits donde se guardan los cambios del proyecto, en vez de escribir con cada commit git push cree un archivo .bat que estaba programado para que a las 22:00 de lunes a sabado hacia un git push y subia todos los cambios locales a github. Asi me ahorraba mucho tiempo.