Programación BATCH Avanzada
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 matematicas, hasta seleccionar ciertas partes de una variable, asi como reemplazar cadenas de texto, 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:
Codigo:
@echo off
echo %0 %1 %2 %3
shift /1
echo %0 %1 %2 %3
al llamar:
Codigo:
C:Documents and SettingsAdministradortempcurso>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:
Codigo:
%~f1 – regresa la ruta y el archivo de %1.
%~d1 – regresa la letra de la unidad de %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 donde tenemos:
Codigo:
C:Documents and SettingsAdministradortempcurso>dir
El volumen de la unidad C no tiene etiqueta.
El numero de serie del volumen es: A057-553B
Directorio de C:Documents and SettingsAdministradortempcurso
24/07/2006 12:25a <DIR> .
24/07/2006 12:25a <DIR> ..
24/07/2006 12:25a 6 archivo.txt
1 archivos 6 bytes
2 dirs 401,715,161,088 bytes libres
este batch:
Codigo:
@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