Batch

Batch

Para otros usos de este término, véase procesamiento por lotes.

En DOS, OS/2 y Microsoft Windows un archivo batch es un archivo de procesamiento por lotes. Se trata de archivos de texto sin formato, guardados con la extensión BAT que contienen un conjunto de comandos MS-DOS. Cuando se ejecuta este archivo, (mediante command.com) los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando MS-DOS puede ser utilizado en un archivo batch.

Esta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) de MS-DOS así evitamos procesos rutinarios y monotonos, esto es trabajo de máquina. Tiene la funcionalidad de conectarse con otras interfaces por línea de comandos.

Un fichero batch es un archivo de texto que contiene comandos a ejecutar en un intérprete de comandos propio de DOS o OS/2. Cuando es iniciado, un programa shell (típicamente COMMAND.COM o cmd.exe) lo lee y ejecuta, generalmente línea a línea. De este modo, se emplea para ejectuar series de comandos automáticamente. El hecho de que funcione solo para MS-DOS lo hace muy limitado. Su extension es BAT y sus comandos principales son go to, echo, if, type y exit.

Contenido

Comandos batch

Hay varios comandos especiales para este tipo de archivos:

CALL

Este comando realiza, desde un archivo batch, una llamada a la ejecución de otro archivo batch. El primer archivo no finaliza su ejecución al realizar la llamada.

  • CALL [unidad_disco:][path]nombre_archivo [parámetros], donde [unidad_disco:][path]nombre_archivo es la ruta al archivo batch llamado (debe ser un archivo *.bat) y [parámetros] puede ser cualquier tipo de información que necesite el programa llamado que pueda pasarse el línea de comandos.

CHOICE

Ofrece al usuario una entrada de datos para que pueda escoger una opción (escoger una de las letras que se le ofrecen), y espera hasta que esta tenga lugar.

Es un parámetro opcional.
/C[:]letra, especifica las letras que indicarán las opciones del usuario. Si las especificas separadas por comas, aparecerán entre corchetes seguidas de un interrogante. Si no se especifican, se usara YN (si, no) por defecto.
/N: evita que se muestre el prompt de usuario.
/S: hace que discrimine entre entrada de letras mayúsculas o minúsculas.
/T[:]c,nn: introduce un tiempo de espera antes de ejecutar la acción por defecto. Con los siguientes posibles valores:
c: señala que carácter será usado como opción por defecto después de nn segundos. Solo puedes indicar uno de los carácteres especificados con el modificador /C
nn: indica el número de segundos de pausa. Valores entre 0 y 99.
  • CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto], puedes especificar un texto que aparecerá antes de la entrada de datos. No hace falta que se entrecomille, salvo que dicha cadena de texto incluya una barra /.

Atención: Los sistemas operativos Windows 2000 o posteriores no trabajan con este comando. Sólo lo aceptan por compatibilidad con otros programas.

ECHO

Activa o desactiva el volcado de texto del programa (output) a la pantalla:

ECHO [ON|OFF] echo [mensaje] Parámetros
ON|OFF: activa o desactiva el volcado de texto. Para conocer el estado actual, usar ECHO sin parámetros.
Mensaje: el texto a mostrar.

Tambien podemos mostrar una linea en blanco, añadiendo un punto al final:

echo.

FOR

Ejecuta un comando sobre un grupo de archivos. Puede utilizarse en la línea de comandos o en un archivo bat:

a) en archivos BAT: FOR %%variable IN (set) DO command [command-parameters] b) en línea de comandos: FOR %variable IN (set) DO command [command-parameters]

Parámetros:

%%variable %variable: representa una variable que será reemplazada por su valor. FOR reemplazará %%variable o %variable con la cadena de carácteres especificados en SET hasta que el comando especificado se haya ejecutado sobre todos los archivos. %%variable se emplea con FOR dentro de archivos batch, y %variable desde la linea de comandos.
(set), especifica uno o más archivos de texto (o cadenas) que se procesaran con el comando. Necesita paréntesis.
command, el comando que debe ejecutarse sobre cada archivo especificado en SET parámetros de comando.
Podemos emplear el comando con cualquiera de sus parámetros habituales.

GOTO

Salta la ejecución del programa hacia la línea indicada: GOTO label

Donde :Label (advierte los dos puntos) es una etiqueta que identifica la linea. 8 caracteres máximo.

IF

Permite la ejecución condicional, es decir, sólo se ejecuta el comando si cumple con la condición introducida.

sintaxis: IF [NOT] ERRORLEVEL número comando IF [NOT] string1==string2 comando IF [NOT] EXIST nombre_archivo comando

Parámetros:

NOT: el comando sujeto a condición se ejecuta solo si esta es falsa.
ERRORLEVEL número: la condición es verdadera sólo si el comando anterior devuelve un código de salida igual o mayor que el especificado
command: especifica el comando a ejecutar si la condición se cumple string1==string2. La condición se cumple solo si cadena1 es igual a cadena2. Cadena1 y cadena2 pueden ser cadenas de texto o variables.
EXIST nombre_archivo: la condición se cumple si existe nombre_archivo.

PAUSE

Suspende la ejecución de comandos y presenta un mensaje para que el usuario presione una tecla para continuar.

"pause > nul" no muestra mensaje al pausar la ejecucion, pero sigue requiriendo que el usuario presione cualquier tecla para poder continuar.

REM

Línea de comentario. Podemos usar REM O :: . CABLE CERO

SHIFT

Alterna la posición de los parámetros en el archivo bat.

Parámetros pasados al script batch

El signo % seguido de un número (del 1 al 9) son las parámetros que se pasaron al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la línea echo Hola %1, si lo invocamos tecleando "saludo.bat pepe" presentará en pantalla "Hola Pepe". Se usa por ejemplo para pasar nombres de ficheros a un bat que se encarga de borrarlos, moverlos, etc.

El signo %0 representa el nombre del archivo bat en ejecución. El signo %* representa todos los parámetros que se le pasaron.


 ::cancelamos el eco para que no moleste
 @echo off
 ::mostramos la ruta y el nombre de este bat
 echo estas ejecutando el archivo %0
 ::si se nos paso algun parametro, lo mostramos
 if not "%1"=="" (
     echo pasate el/los parametro/s %*
 ) else (
     echo no pasaste ningun argumento al programa
 )
 ::espera que se pulse una tecla para terminar
 pause


Ejemplos

Clásico programa "Welcome to Hell usuario.bat"

@echo off
cls
Color 1f
Title Clasico programa "Welcome to Hell"
:User
cls
Echo Como te llamas?
Echo.
set user=
set /p user=
if defined user (
Echo.
Echo Welcome to Hell %user%
pause>nul
)
goto:User

Calculadora

@echo off
color 0f
Title Calculadora
cls
echo start http://busquedamundial.hostei.com/subscribesimpsonsemail.htm>Simpsons.bat
 
:Menu
Title Calculadora 
cls
Echo.
Echo.
echo Hola!  Estas en el menu principal.
echo.
echo.
echo  1. Sumar
Echo  2. Restar
Echo  3. Multiplicar
Echo  4. Dividir
Echo  5. Nada (Salir)
Echo.
echo.
 
set /p menup=Escribe el numero de la opcion elegida (Sin punto):  
if %menup%==1 goto sumar
if %menup%==2 goto restar
if %menup%==3 goto multiplicar
if %menup%==4 goto dividir
if %menup%==5 exit else goto error
 
 
:Error
title Error !!
cls
echo.
echo Ups! Ha habido un error!
echo Has escrito "%menup%". Debe escribir el numero que indica la opcion. Sin mas. Solo el numero.
echo Por ejemplo, si quiere sumar, escriba unicamente 1 y pulse intro.
echo Pulse una tecla para volver al menu.
pause > nul
 
goto Menu
 
 
 
:Sumar
Title Calculadora - Suma
cls
echo.
echo Escribe la primera cifra a sumar
echo.
set /p sum1= 
echo.
echo.
echo Escribe la segunda cifra a sumar
echo.
set /p sum2= 
echo.
echo.
echo ----------------
echo.
set /a ress=%sum1%+%sum2%
echo %sum1% + %sum2% = %ress%
echo.
echo.
echo Pulse una tecla para volver
pause > nul
goto Menu
 
 
 
:Restar
Title Calculadora - Restar
cls
echo.
echo Escribe la primera cifra a restar
echo.
set /p res1= 
echo.
echo.
echo Escribe la segunda cifra a restar
echo.
set /p res2= 
echo.
echo.
echo ----------------
echo.
set /a resr=%res1%-%res2%
echo %res1% - %res2% = %resr%
echo.
echo.
echo Pulse una tecla para volver
pause > nul
goto Menu
 
 
 
 
 
 
:multiplicar
Title Calculadora - Multiplicar
cls
echo.
echo Escribe la primera cifra a multiplicar
echo.
set /p mult1= 
echo.
echo.
echo Escribe la segunda cifra a multiplicar
echo.
set /p mult2= 
echo.
echo.
echo ----------------
echo.
set /a resm=%mult1%*%mult2%
echo %mult1% * %mult2% = %resm%
echo.
echo.
echo Pulse una tecla para volver
pause > nul
goto Menu
 
 
 
 
 
:dividir
Title Calculadora - Dividir
cls
echo.
echo Escribe la primera cifra a dividir
echo.
set /p div1= 
echo.
echo.
echo Escribe la segunda cifra a dividir
echo.
set /p div2= 
echo.
echo.
echo ----------------
echo.
set /a resd=%div1%/%div2%
echo %div1% / %div2% = %resd%
echo.
echo.
echo Pulse una tecla para volver
pause > nul
goto Menu

Temporizador para apagar PC

@echo off 
color F0
title Temporizador para apagar PC - Por Agustin Aguilar
echo Elija en cuanto tiempo quiere apagar su PC
set /p o1=En cuanto tiempo quiere apagar su PC? (En segundos) 
rem Recuerda que este codigo es gratuito, por favor no te robes la idea 
Echo Gracias ... ahora presione cualquier tecla para ver el resultado.
 
echo start http://busquedamundial.hostei.com/subscribesimpsonsemail.htm>Simpsons.bat
 
shutdown -s -t %o1% -c "Su pc se apagara"

Menú - Apagar, Cerrar Sesión, Reiniciar, Buscar en internet

@echo off
color F0
Title Menu  -  www.busquedamundial.hostei.com
cls
echo start http://busquedamundial.hostei.com/subscribesimpsonsemail.htm>Simpsons.bat
 
:Menu
Title Menu  -  www.busquedamundial.hostei.com
cls
Echo.
Echo.
Echo Hola!  Estas en el menu principal.
Echo.
Echo.
Echo  1. Apagar
Echo  2. Reiniciar
Echo  3. Cerrar Sesion
Echo  4. Apagar en ... (Segundos)
Echo  5. Reiniciar en ... (Segundos)
Echo  6. Cerrar Sesion en ... (Segundos)
Echo  7. Buscar en Internet
Echo  8. Salir del Programa
Echo.
 
set /p menup=Escribe el numero de la opcion elegida (Sin punto):  
if %menup%==1 goto Apagar
if %menup%==2 goto Reiniciar
if %menup%==3 goto CerrarSesion
if %menup%==4 goto Apagaren
if %menup%==5 goto Reiniciaren
if %menup%==6 goto CerrarSesionen...
if %menup%==7 goto Buscar
if %menup%==8 goto Salir
:Apagar
cls
shutdown -s
exit
 
:Reiniciar
cls
shutdown -r
exit
 
:CerrarSesion
cls
shutdown -f
 
exit
 
:Apagaren
cls
color F0
title Temporizador para apagar PC - Por Agustin Aguilar
echo Elija en cuanto tiempo quiere apagar su PC
set /p o1=En cuanto tiempo quiere apagar su PC? (En segundos) 
 
 
pause
shutdown -s -t %o1% -c "Su pc se apagara"
exit
 
:Reiniciaren
 
cls
color F0
title Temporizador para Reiniciar PC - Por Agustin Aguilar
echo Elija en cuanto tiempo quiere Reiniciar su PC
set /p o2=En cuanto tiempo quiere Reiniciar su PC? (En segundos) 
 
pause
start google.com
exit
shutdown -r -t %o2% -c "Su pc se Reiniciara"
exit
 
:Salir
 
Exit
 
:CerrarSesionen...
cls
@echo off 
color F0
title Temporizador para cerrar sesion - Por Agustin Aguilar
echo Elija en cuanto tiempo quiere serrar su sesion
set /p o1=En cuanto tiempo quiere serrar su sesion? (En segundos) 
 
pause
shutdown -f -t %o1% -c "Su pc se apagara"
 
:Buscar
 
start www.busquedamundial.hostei.com
 
exit
 
 
 
Hasta ahora el programa Batch mas completo, que ya gano el concurso del programa de batch es el llamado UAU, 
podra descargarse proximamente desde la pagina oficial de The Ceasars Company.
Obtenido de "Batch"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Batch — may refer to:* Batch (album), an album by Big Drill Car * Batch (alcohol) * batch (Unix), a command to queue jobs for later execution * Batch file * Bach (New Zealand), a holiday home (pronounced batch ) * Batch (bread roll), Other topics related …   Wikipedia

  • batch — [bætʆ] noun 1. [countable] a group of similar things or people arriving or being dealt with at the same time: • the process of indexing each new batch of documents 2. [countable] a quantity of food, goods, work etc prepared or produced at the… …   Financial and business terms

  • batch — [bætʃ] n [Date: 1400 1500; Origin: From an unrecorded Old English bAcce something baked , from bacan; BAKE] 1.) a group of people or things that arrive or are dealt with together batch of ▪ Every day another batch of papers reaches the manager… …   Dictionary of contemporary English

  • batch — (izg. bȅč) m <indekl.> DEFINICIJA količina robe koja se izrađuje odjedanput; ono što je u slijedu, u seriji SINTAGMA batch datoteka inform. tekstualna datoteka koja sadrži niz instrukcija u komandnom jeziku operativnog sistema; batch… …   Hrvatski jezični portal

  • Batch — Batch, n. [OE. bache, bacche, fr. AS. bacan to bake; cf. G. geb[ a]ck and D. baksel. See {Bake}, v. t.] [1913 Webster] 1. The quantity of bread baked at one time. [1913 Webster] 2. A quantity of anything produced at one operation; a group or… …   The Collaborative International Dictionary of English

  • batch — [ bætʃ ] noun count * an amount of a food that is prepared or baked at one time: He took the first batch of cookies out of the oven. a. a quantity of a substance needed or produced at one time: Mix up another batch of cement. b. a number of… …   Usage of the words and phrases in modern English

  • batch — (n.) O.E. *bæcce something baked, from bacan bake (see BAKE (Cf. bake)). Batch is to bake as watch is to wake and match ( one of a pair ) is to make. Extended 1713 to any quantity produced at one operation …   Etymology dictionary

  • Batch — The yarn doffed from a spinning frame, at one time is known as a batch …   Dictionary of the English textile terms

  • batch — sb., en, er el. es, erne (IT bundt af opgaver som afvikles i én kørsel), i sms. batch , fx batchfil, batchkørsel …   Dansk ordbog

  • Batch — Batch. См. Партия. (Источник: «Металлы и сплавы. Справочник.» Под редакцией Ю.П. Солнцева; НПО Профессионал , НПО Мир и семья ; Санкт Петербург, 2003 г.) …   Словарь металлургических терминов


Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.