Programación Batch Avanzada

Páginas: 14 (3424 palabras) Publicado: 28 de septiembre de 2012
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 nos permite hacer desde operaciones matemáticas,
hasta seleccionar ciertas partes de una variable, así comoreemplazar cadenas de texto, obtener archivos
y sus propiedades, la fecha, hora, generar números aleatorios, etc.
Los argumentos que recibe un batch son recibidos de la siguiente forma:
batch argumento1 dos tres
hará que:
%0 = batch
%1 = argumento1
%2 = dos
%3 = tres
en %0 se guardará el nombre del archivo.
Podemos borrar el contenido de un parámetro con el comando shift:
Código:
@echooff
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 borró el primer argumento.
También contamos con los siguientes modificadores para los archivos:
Código:
%~f1
%~d1
%~p1
%~n1
%~x1
%~s1
%~a1
%~t1
%~z1

-

regresa
regresa
regresa
regresa
regresaregresa
regresa
regresa
regresa

la ruta y el archivo de %1.
la letra de la unidad de %1.
solo la ruta del archivo %1.
solo el nombre de archivo %1.
solo la extensión del archivo %1.
solo la ruta, con directorios, con nombres cortos del archivo %1.
los atributos del archivo.
la hora/fecha del archivo %1
el tamaño del archivo %1.

por ejemplo:
en un directorio donde tenemos: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
24/07/2006
24/07/2006

12:25a

12:25a

12:25a
6
1 archivos
2 dirs 401,715,161,088

.
..
archivo.txt
6 bytes
bytes libres

este batch:
Código:
@echo offecho Ruta al archivo: %~f1
echo Disco: %~d1
echo Solo ruta: %~p1
echo Nombre: %~n1
echo Extensión: %~x1
echo Ruta Corta: %~s1
echo Atributos: %~a1
echo Fecha: %~t1
echo Tamaño: %~z1
llamándolo 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
Extensión: .txt
Ruta Corta: C:\DOCUME~1\ADMINI~1\TEMPCU~1\archivo.txt
Atributos: --a-----Fecha: 24/07/06 12:25a
Tamaño: 6
También podemos usar varias propiedades, por ejemplo, este código:
Código:
@echo off
echo %~anxt1
saca este resultado:
Código:
C:\Documents andSettings\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 más de una palabra, se debe
poner entre comillas, algo así:
astring "parámetro de varias letras"
al obtenerlo, en %1, lo recibimos con comillas, pero si usamos:
Código:
@echo off
echo Con Comillas: %1
echo Sin Comillas: %~1
saca este resultado:Código:
C:\Documents and Settings\Administrador\tempcurso>astring "parámetro de varias letras"
Con Comillas: "parámetro de varias letras"
Sin Comillas: parámetro 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 parámetro de varias letras
nos regresa:
Código:
C:\Documents andSettings\Administrador\tempcurso>astring parámetro de varias letras
Argumentos: parámetro 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 ¿Cómo te llamas?
set /P miva=
echo Tú te llamas %miva%
hará algo así:
Código:
C:\Documents and Settings\Administrador\tempcurso>astring
┐Como te...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • 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
  • Programacion avanzada javelin

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS