Ejemplos de macros Ms-Dos

Anuncio
Algunos ejemplos de Macros
file:///var/www/htdocs/ejemplos_macros.htm
Algunos ejemplos de Macros
Haz "click" en los botones de la izquierda para guardar en tu PC los ficheros ".BAT"
Uso de Parámetros (%0.....%9)
@ECHO off
rem Tema: uso de parámetros en macros
rem Muestra el parámetro que se le pase como primer argumento
rem en un marco
IF '%1'=='' GOTO error
echo =====================
echo %1
echo =====================
GOTO final rem Nos saltamos el mensaje de error
:error
echo No hay argumento
echo USO: %0
:final
Uso de Salto Condicional (IF)
@echo off
rem Tema: Uso del salto Condicional (if)
rem Uso de 'if' en una de sus formas:
rem - IF ERRORLEVEL #NUM
echo La macro copia todos los ficheros del directorio actual
echo con extensión ".BAT" en un único fichero llamado "TODO.TXT"
copy *.BAT TODO.TXT
if errorlevel 1 goto :error
goto fin
:error
echo Error al copiar ficheros
:fin
echo ** FIN DE LA MACRO **
Uso Avanzado del Salto Condicional (IF)
@echo off
rem Tema: Uso del salto Condicional (if)
rem Se ve el uso de 'if' en dos distintas formas:
rem - IF "Cadena1" == "Cadena2"
rem - IF EXIST Fichero
echo ------echo La macro muestra por pantalla el contenido del
echo fichero que se le de en el primer par metro.
echo Si el segundo parámetro es "ordenado", lo muestra ordenado
echo -------
1 de 3
15/02/10 13:45
Algunos ejemplos de Macros
file:///var/www/htdocs/ejemplos_macros.htm
rem Comprobamos que el numero de parametros es correcto
IF "%1"=="" goto :error_parametros
rem Comprobamos que el primer parámetro corresponde a un
rem fichero existente ---> IF EXIST
IF NOT EXIST %1 GOTO error_fichero
rem Comprobamos si el segundo parámetro es "ordenado"
IF "%2"=="ordenado" GOTO mostrar_ordenado
rem Mostrar fichero sin ordenar
type %1|more
goto fin
:mostrar_ordenado
type %1|sort|more
goto fin
:error_parametros
echo Error: Necesito al menos un argumento
goto fin
:error_fichero
echo Error: No existe el fichero %1
:fin
echo ** FIN DE LA MACRO **
Uso del Bucle (FOR)
@echo off
rem Tema: Uso del bucle (FOR)
echo La macro simula el funcionamiento de la orden "dir"
echo mostrando cada fichero del directorio actual
for %%F in (*.*) do echo -Fichero: %%F
echo ** FIN DE LA MACRO **
Ejercicios:
1. Escriba una macro MS-DOS que mueva el contenido del fichero que se le pase como primer
parámetro a otro que se le ha pasado como segundo parámetro. La macro debe detectar si se han
pasado ambos argumentos, pero no es necesario detectar que el primer argumento corresponda
a un fichero existente.
Ejemplo de uso (suponiendo que la macro se llama “mueve.bat”):
mueve fich1.txt nuevo.txt à mueve el fichero fich1.txt a nuevo.txt
mueve fich1.txt à mensaje de error, falta fichero de destino
mueve à mensaje de error, faltan ficheros de origen y destino
2. Escriba una macro MS-DOS que copie aquellos ficheros que se le pasen como primer parámetro a
un directorio llamado c:\Backup que suponemos que ya existe. La macro debe detectar si se ha
pasado el argumento necesario, y en caso afirmativo, que dicho argumento corresponda a
2 de 3
15/02/10 13:45
Algunos ejemplos de Macros
file:///var/www/htdocs/ejemplos_macros.htm
fichero(s) existente(s).
Ejemplo de uso (suponiendo que la macro se llama “copia.bat”):
copia *.txt à copia todos los ficheros con extensión txt al directorio c:\backup
copia à mensaje de error, faltan ficheros a copiar
3. Escriba una macro que muestre por pantalla el contenido de todos los ficheros que tengan una
extensión determinada (que se le pasa como primer parámetro). Antes de cada fichero mostrado
escribirá una línea de caracteres '#'
Ejemplo de uso (suponiendo que la macro se llama “muestra.bat”):
muestra *.txt à Muestra el contenido de todos los ficheros con extensión .txt del directorio actual,
separados por una línea de almohadillas.
3 de 3
15/02/10 13:45
Descargar