Hola Visitante

Autor Tema: Pequeña guia de batch  (Leído 3027 veces)

Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Pequeña guia de batch
« en: Diciembre 30, 2008, 11:07:18 am »
aqui les dejo algo interesante que encontre por la red

Citar
Un archivo batch (o bat) 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 DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas.

Cualquier comando DOS puede ser utilizado en un archivo batch. Tienes también 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 [parametros]

Donde [unidad_disco:][path]nombre_archivo es la ruta al archivo batch llamado (debe ser un archivo *.bat) y [parametros] 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.

CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto]

Parametros

texto
    Puedes especificar un texto que aparecerá antes de la entrada de datos. No hace falta que lo entrecomilles, salvo que dicha cadena de texto incluya una barra /. Es un parámetro opcional.

Modificadores

/C[:]letra
    Especifica las letras que indicarán las opciones del usuario. Si las especificas separadas por comas, apareceran 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 mayusculas o minusculas.
/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 despues de nn segundos. Solo puedes indicar uno de los carácteres especificados con el modificador /C
nn
    Indica el numero de segundos de pausa. Valores entre 0 y 99.

ECHO

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

ECHO [ON|OFF] echo [mensaje] Parametros

ON|OFF
    Activa o desactiva el volcado de texto. Para conocer el estado actual, usar ECHO sin parámetros.
Mensaje
    El texto a mostrar.

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]

Parametros

%%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 mas 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 linea 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.

sintaxis:

IF [NOT] ERRORLEVEL numero comando

IF [NOT] string1==string2 comando

IF [NOT] EXIST nombre_archivo comando

Parámetros:

NOT
    El comando sujeto a condicion se ejecuta solo si esta es falsa.
ERRORLEVEL numero
    La condición es verdadera solo 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
REM

Línea de comentario. Podemos usar REM O ::
SHIFT

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

El signo % seguido de un numero (del 1 al 9) permite pasar parámetros al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la linea echo Hola %1, si lo invocamos tecleando archivo.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.

La informacion la encontre en http://www.ignside.net/man/dos/batch.php
Esta lista se puede ir ampliando a medida que lo hagan nuestros conocimientos en este campo ;)

Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Re: Nuevo archivo en bat
« Respuesta #1 en: Enero 04, 2009, 11:20:37 am »
Con Batch podemos crear archivos. Para ello, tenemos que escribir algo como esto:

Código: [Seleccionar]
echo TEXTO DE PRIMERA LINEA > nombre.extensión
echo TEXTO SEGUNDA LINEA >> nombre.extensión
echo TEXTO SIGUIENTE LINEA >> nombre.extensión



Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que siga.
Si ocupamos un echo seguido de un texto y el doble signo > (>>) se escribirá en la siguiente linea vacía del archivo que prosiga.

Hagamos la prueba:
Código: [Seleccionar]
echo Creando un Archivo de texto > nuevo.txt
echo Esta es la Segunda linea >> nuevo.txt
echo Y esta es la Siguiente >> nuevo.txt
echo Esto esta genial >> nuevo.txt



Si ejecutamos eso, la pantalla negra se abrirá y cerrará.
Pero en la carpeta en la que está nuestro batch se abra creado un nuevo archivo \"nuevo.txt\" que si lo abrimos, dentro estará escrito lo que especificamos.


Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Re: Perzonalizar la Shell
« Respuesta #2 en: Enero 04, 2009, 11:28:19 am »
COLOR EN LA SHELL:

Con la función color podemos cambiar los colores de fondo y las letras. Siendo su sintaxis:
COLOR AB
Donde A= El color de el Fondo y B= Color de las letras.
Para ver todos los colores ve el MS-Dos y escribe color/?

TITLE:

Para cambiar el título de la barra de tareas solo escribe:
Title Loquequierascomotitulo

Pause Personalizado:
Código: [Seleccionar]

echo Aprieta cualquier tecla para seguir
pause>nul



Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Re:Algo mas con variables, suma, resta y multilicación
« Respuesta #3 en: Enero 04, 2009, 11:29:13 am »

Donde el Batch se pausara solo mostrando el Mensaje que va luego de \"=\" dejando que se escriba algo.
También podemos multiplicarlas, sumarlas, etc... con /a:


Código: [Seleccionar]

set numero1=2
ser numero2=43
set /a suma= %numero1% + %numero2%
echo %suma%
pause
exit