Programacion Batch Avanzada

Páginas: 13 (3031 palabras) Publicado: 22 de julio de 2011
Temario.
1.- Variables y Argumentos.
2.- Imprimir caracteres de comandos.
3.- Algunas otras variables de Entorno.
4.- IF
5.- FOR
6.- Funciones
7.- Includes
8.- Misc
9.- EOF

Variables y Argumentos

El manejo de variables en batch, es muy flexible., y este nos permite hacer desde operaciones matemáticas, hasta seleccionar ciertas partes de una variable, asi como reemplazar cadenas detexto, y obtener archivos.. y sus propiedades, la fecha, hora, generar numeros aleatorios, entre otros.

Los argumentos que recibe un batch, son recibidos de la siguiente forma:

batch, argumento1, dos, tres

hara que:
%0 = batch
%1 = argumento1
%2 = dos
%3 = tres

en %0 se guardara, el nombre del archivo.

Podemos borrar el contenido de un parametro con el comando shift:

Código:@echo off
echo %0 %1 %2 %3
shift /1
echo %0 %1 %2 %3

al llamar:

Código:

C:\Documents and Settings\Administrador\tempcurso>astring 123 456 789
astring 123 456 789
astring 456 789

shift borro, el primer argumento.

Tambien contamos con los siguientes modificadores para los archivos:

Código:

%~f1 - regresa la ruta y el archivo de %1.
%~d1 - regresa la letra de la unidadde %1.
%~p1 - regresa solo la ruta del archivo %1.
%~n1 - regresa solo el nombre de archivo %1.
%~x1 - regresa solo la extension del archivo %1.
%~s1 - regresa solo la ruta, con directorios, con nombres cortos del archivo %1.
%~a1 - regresa los atributos del archivo.
%~t1 - regresa la hora/fecha del archivo %1
%~z1 - regresa el tamaño del archivo %1.

por ejemplo:

en un directorio dondetenemos:

Código:

C:\Documents and Settings\Administrador\tempcurso>dir
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: A057-553B

Directorio de C:\Documents and Settings\Administrador\tempcurso

24/07/2006 12:25a .
24/07/2006 12:25a ..
24/07/2006 12:25a 6 archivo.txt
1 archivos 6 bytes
2 dirs 401,715,161,088 bytes libres

este batch:

Código:@echo off
echo Ruta al archivo: %~f1
echo Disco: %~d1
echo Solo ruta: %~p1
echo Nombre: %~n1
echo Extension: %~x1
echo Ruta Corta: %~s1
echo Atributos: %~a1
echo Fecha: %~t1
echo Tamaño: %~z1

llamandolo analiza.bat, saca el siguiente resultado:

Código:

C:\Documents and Settings\Administrador\tempcurso>analiza archivo.txt
Ruta al archivo: C:\Documents andSettings\Administrador\tempcurso\archivo.txt
Disco: C:
Solo ruta: \Documents and Settings\Administrador\tempcurso\
Nombre: archivo
Extension: .txt
Ruta Corta: C:\DOCUME~1\ADMINI~1\TEMPCU~1\archivo.txt
Atributos: --a------
Fecha: 24/07/06 12:25a
Tama±o: 6

Tambien podemos usar varias propiedades, por ejemplo, este código:

Código:

@echo off

echo %~anxt1

saca este resultado:

Código:C:\Documents and Settings\Administrador\tempcurso>analiza archivo.txt
--a------ 24/07/06 12:25a archivo.txt

Si lo que recibimos no es un archivo, sino una cadena de texto, que contiene mas de una palabra, se debe poner entre comillas, algo asi:

astring "parametro de varias letras"

al obtenerlo, en %1, lo recibimos con comillas, pero si usamos:

Código:

@echo off
echo Con Comillas: %1
echoSin Comillas: %~1

saca este resultado:

Código:

C:\Documents and Settings\Administrador\tempcurso>astring "parametro de varias letras"
Con Comillas: "parametro de varias letras"
Sin Comillas: parametro de varias letras

Y por ejemplo, si queremos obtener todos los argumentos, se usa:

%*

es decir:

Código:

@echo off

echo Argumentos: %*

al ejecutar:

astring parametrode varias letras

nos regresa:

Código:

C:\Documents and Settings\Administrador\tempcurso>astring parametro de varias letras
Argumentos: parametro de varias letras

Para asignar a una variable, el valor de algo escrito por el usuario, puedes usar:

set /P variable=

por ejemplo:
Código:

@echo off
echo ¿Como te llamas?
set /P miva=

echo Tu te llamas %miva%

hara algo asi:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación Batch Avanzada
  • programacion avanzada
  • PROGRAMACION AVANZADA
  • Programación Avanzada
  • Planificación Avanzada y Sistemas De Programación
  • TOPICOS AVANZADOS DE PROGRAMACION
  • Programacion Avanzada: Bases De Datos
  • topicos avanzados de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS