| |
Autor: Enviado por: Hurricane - Enviado con fecha: 18-01-2005 10:54:35. |
Este truco es válido para todas las versiones de Windows que de una u otra forma utilicen comandos DOS.
Este ejemplo imprime el contenido de archivos de texto puro; los nombres son pasados desde la Windows mediante el sistema de Marcar/Arrastrar hasta el nombre del programa BATCH. Lo llamaremos PRNTXT.BAT, y su
contenido será:
@ECHO OFF
REM Si no se pasan parámetros, muestra la ayuda...
IF %1.==. GOTO HELP
:LOOP
REM Si no existe el archivo, envía un mensaje de error.
IF NOT EXIST %1 GOTO NOFILE
ECHO Imprimiendo "%1"...
TYPE %1 > PRN
SHIFT
IF NOT %1.==. GOTO LOOP
GOTO FIN
:HELP
ECHO PRNTXT V1.0 - ConfigurarEquipos.com
ECHO Imprime uno o más archivos de texto.
ECHO Ejemplo: PRNTXT C:/AUTOEXEC.BAT
ECHO.
GOTO FIN
:NOFILE
ECHO ¡El archivo "%1" no existe
ECHO.
:FIN
EXIT
La clave en el manejo de los parámetros está en las variables %1 a %9, donde %1 es el primer parámetro, %2 es el segundo, y así sucesivamente. También existe el %0, que representa al nombre del programa (o la forma en que fué llamado). Como sólo hay 9 variables %, para el manejo de parámetros se utiliza la orden "SHIFT", el que desplaza el parámetro %2 a %1, %3 a %2, y así sucesivamente (se
desplazan a la variable inferior). Para comprobar si quedan o no parámetros, se verifica con la condición "IF %1.==.".
Un Ejemplo de llamada: DOS/PRNTXT.BAT AUTOEXEC.BAT C:/CONFIG.SYS
%0 = DOS/PRNTXT.BAT
%1 = AUTOEXEC.BAT
%2 = C:/CONFIG.SYS
Espero que les sea de utilidad. Cualquier duda sobre el manejo de parámetros, u otra capacidad del DOS, háganla en los Foros y se les dará ayuda. |
|