Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso de MS-DOS
Saulo Barajas
Ingeniero en Informática
Este curso explica de forma didáctica los conceptos básicos y avanzados del sistema operativo MS-DOS. El "Curso de
MS-DOS" fue publicado originalmente en 1996 en formato de libro. En esta página sólo están incluidos algunos
capítulos: el resto espero incluirlos en un futuro aunque no tengo fecha prevista (me requiere bastante tiempo de
preparación). El libro no está disponible en librerías; sin embargo, todavía me quedan algunos ejemplares. Si está
interesado en adquirir uno al precio de 22 euros más gastos de envío desde Madrid (España) o tiene sugerencias o
comentarios, puede ponerse en contacto con el autor.
(C) Saulo Barajas. No se permite la reproducción total o parcial sin la autorización previa del autor. Pueden incluirse enlaces hacia esta página
desde otros sitios web sin necesidad de solicitar autorización. Queda prohibida su venta o utilización como texto en centros de formación sin
permiso expreso del autor. Sin embargo, el curso puede ser utilizado libremente para uso personal.
Publicaciones · Saulo.Net
Índice
(Están disponibles todos los capítulos de la segunda parte y los capítulos 8, 10-18.
El resto los iré incluyendo a medida que los prepare en HTML)
Primera parte: Curso de MS-DOS Segunda Parte: MS-DOS avanzado
1. Conceptos fundamentales 13. La memoria
2. Órdenes del MS-DOS. Trabajo con discos 14. Los discos del DOS
3. Trabajo con directorios 15. Defrag, Undelete y Unformat
4. Trabajo con ficheros 16. Msbackup
5. Operaciones de copia 17. Los virus informáticos
6. Los atributos 18. El fichero CONFIG.SYS
7. El entorno del DOS
8. Redireccionamientos
9. El programa EDIT
10. Ficheros por lotes (I)
11. Ficheros por lotes (II)
12. El programa DOSKEY
1. Conceptos fundamentales
1-1 Introducción
1-2 Partes del ordenador
1-3 ¿Qué es software y hardware?
1-4 ¿Qué es un sistema operativo?
1-5 Los discos almacenan información
1-6 ¿Qué son los ficheros?
1-7 ¿Qué es un directorio?
CLAVE DE LOS EJERCICIOS DE AUTOCOMPROBACIÓN
EJERCICIOS
5. Operaciones de copia
Curso de MS-DOS Página 3 de 6
5-1 Introducción
5-2 Los dispositivos del dos
5-3 Otras posibilidades de COPY
5-4 Copia de disquetes
5-5 XCOPY copia directorios completos
CLAVE DE LOS EJERCICIOS DE AUTOCOMPROBACIÓN
PUESTA EN PRÁCTICA
EJERCICIOS
6. Los atributos
6-1 Los atributos
6-2 La orden ATTRIB
6-3 XCOPY y el atributo archivar
6-4 Otras posibilidades de XCOPY
6-5 Ayuda a las órdenes del ms-dos
6-6 La orden DIR
CLAVE DE LOS EJERCICIOS DE AUTOCOMPROBACIÓN
PUESTA EN PRÁCTICA
EJERCICIOS
8. Redireccionamientos
8-1 Introducción
8-2 Los operadores
8-3 Los filtros del DOS
8-4 Redirección de la entrada. Operador `<'
8-5 Redirección de la salida. Operador `>'
8-6 Redirección de la salida a un fichero existente `>>'
8-7 Redirección de la salida a entrada de otra orden ( | )
CLAVE DE LOS EJERCICIOS DE AUTOCOMPROBACIÓN
PUESTA EN PRÁCTICA
EJERCICIOS
9. El programa EDIT
9-1 Introducción
9-2 Justificación de Edit
9-3 El ratón
Curso de MS-DOS Página 4 de 6
13. La memoria
13-1 Introducción
Curso de MS-DOS Página 5 de 6
16. Msbackup
16-1 Introducción
16-2 Organización eficiente de un disco duro
16-3 Tipos de copias de seguridad
16-4 Glosario de MSBACKUP
16-5 Iniciar MSBACKUP
16-6 Crear copias de seguridad
16-7 Restaurar copias de seguridad
Capítulo 8
Redireccionamientos
8-1 Introducción
Para comprender mejor el significado del redireccionamiento, intente responder primeramente las siguientes preguntas.
Las respuestas correctas son el teclado y el monitor respectivamente. En este capítulo aprenderemos a redirigir (cambiar)
las entradas y salidas de las órdenes del ms-dos. El siguiente cuadro presenta la entrada y la salida por defecto de las
órdenes del dos.
Función Dispositivo
Entrada por defecto CON (teclado)
Salida por defecto CON (monitor)
More
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve los mismos caracteres insertando una
pausa cada 23 líneas.
En muchas ocasiones la información mostrada por una orden o el contenido de un fichero no cabe en una sola pantalla y
los datos se desplazan a gran velocidad sin darnos tiempo a leerlos. La utilidad de la orden More se encuentra en estas
ocasiones, deteniendo el desplazamiento de información en cada pantalla. Entonces, More muestra la siguiente línea:
-- Más --
Después de leer los datos en pantalla, podemos pulsar Enter para continuar o también Ctrl+Pausa para interrumpir.
Sort
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve los mismos caracteres ordenando cada
fila alfabéticamente.
El uso más frecuente de este filtro es ordenar alfabéticamente el contenido de un fichero. Admite dos modificadores:
Modificador Descripción
/R Ordena inversamente (de la `Z' a la `A' y del `9' al `0')
/+columna Indica la columna del carácter a partir del cual se comparará cada fila.
Find
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve las filas que contengan una cadena
determinada.
La cadena de caracteres para buscar debe especificarse entre comillas (Mays+2) después de la orden.
Se utiliza, a menudo, para buscar una cadena de caracteres en un fichero o en la salida de una orden. El filtro Find
distingue entre mayúsculas y minúsculas mientras no le especifiquemos el modificador /I entre la orden y la cadena.
Curso de MS-DOS Capítulo 8 Página 3 de 10
Aplicaciones:
A:\>more <recuerdo.txt
(More toma como entrada el fichero RECUERDO.TXT y como salida, el monitor)
A:\>sort <personal.txt
(Sort toma como entrada el fichero PERSONAL.TXT y como salida, el monitor)
Ejercicios de autocomprobación
1. Indique las órdenes necesarias para:
C:\>vol >prn
(imprime la etiqueta y el número de serie en impresora)
2. Enviar la salida de una orden a un nuevo fichero. Si el fichero existe, se pierde su contenido anterior.
C:\>dir >director.txt
(crea el fichero DIRECTOR.TXT con el directorio raíz de C:)
C:\>ver >version.txt
(crea el fichero VERSION.TXT conteniendo la versión actual de ms-dos)
El operador `>' también se puede combinar con los filtros del dos. Veamos algunas aplicaciones:
z Ordenar un texto introducido por teclado en un fichero. El cursor se sitúa debajo de la orden esperando las
filas de texto. Al terminar cada fila debemos pulsar Enter y para terminar la introducción de texto, Ctrl+Z y luego
Enter.
B:\>sort >amigos.txt
(Sort asume como entrada el teclado y como salida el fichero AMIGOS.TXT)
Ejercicios de autocomprobación
3. Indique la entrada y la salida de las siguientes líneas de órdenes.
a) DATE <DIA.TXT
b) TIME <HORA.TXT
c) TYPE ROMANCE.TXT
d) TYPE ROMANCE.TXT >CON
e) DIR >DIRECTOR.TXT
f) DIR >PRN
g) SORT
h) SORT <DESORDEN.TXT
i) SORT <DESORDEN.TXT >ORDEN.TXT
j) SORT <DESORDEN.TXT >PRN
k) FIND "HARINA" <COMPRA.TXT
l) FIND "HARINA" <COMPRA.TXT >HARINA.TXT
m) MORE <AVISO.TXT
La siguiente orden añade al fichero SOS.TXT la ayuda de la orden Time. Si no existe, se crea el fichero.
A:\>time /? >>sos.txt
La siguiente añade al fichero SOS.TXT la ayuda suministrada por ms-dos para la orden Date.
A:\>date /? >>sos.txt
Si ahora visualizamos el fichero SOS.TXT, comprobamos que contiene la ayuda de ambas órdenes.
A:\>type sos.txt
Muestra o establece la hora del sistema.
Curso de MS-DOS Capítulo 8 Página 6 de 10
TIME [hora]
DATE [dd-mm-aa]
Escriba DATE sin parámetros para ver la fecha actual y poder escribir una nueva.
D:\>
Ejercicios de autocomprobación
4. Escribir las órdenes necesarias para:
orden1 |orden2
La lectura de esta sintaxis es: "tomar la salida de orden1 como entrada de orden2".
Cada vez que utilizamos el símbolo tubería, ms-dos necesita crear un fichero temporal. Para ello utiliza la variable de
entorno TEMP. Si esta variable no está bien definida, puede ocurrir algún error.
Aplicaciones:
C:\DOS>dir |more
C:\>tree |more
TEMP=C:\DOS
(muestra el valor de la variable TEMP o nada si no existe)
Ejercicios de autocomprobación
5. Entre las siguientes líneas de órdenes, agrupar por parejas las que hagan lo mismo.
1. a) MORE <CRONICA.TXT
b) MORE <AVISO.TXT
c) SORT <NUMEROS.TXT
d) SORT /+30 <LISTIN.TXT
e) SORT /R <AMIGOS.TXT
f) FIND "IGNACIO" <PERSONAL.TXT
3. a) DIA.TXT monitor
b) HORA.TXT monitor
c) (teclado) monitor
d) (teclado) monitor
e) (teclado) DIRECTOR.TXT
f) (teclado) impresora
g) teclado monitor
h) DESORDEN.TXT monitor
i) DESORDEN.TXT ORDEN.TXT
j) DESORDEN.TXT impresora
k) COMPRA.TXT monitor
l) COMPRA.TXT HARINA.TXT
m) AVISO.TXT monitor
4. a) MORE <INFORME.TXT
b) TYPE INFORME.TXT >PRN
c) SORT >PRN
d) VOL >>VARIOS.TXT
e) DIR >>VARIOS.TXT
5. a) y c) Imprimir EJEMPLO.TXT
b) y f) Mostrar con pausa en cada pantalla EJEMPLO.TXT
d) y g) Visualizar EJEMPLO.TXT
e) y h) Mostrar el directorio actual con pausa en cada pantalla.
Puesta en práctica
1. Crear un fichero llamado AMIGOS1.TXT que contenga los siguientes datos. (Las dos primeras líneas no debe
crearlas en el fichero: están para introducir las columnas correctamente).
0 10 20 30 40
12345678901234567890123456789012345678901234567
Ismael Caballero Valladolid 7986821
María López Córdoba 4568756
Sonia Aguilar Valladolid 1239083
Juan Ramírez Córdoba 7643434
Laura Díaz Córdoba 4221336
Enrique Ortiz Burgos 3423444
Mónica Carrasco Madrid 1234123
Cristina Reyes Madrid 3344334
0 10 20 30 40
12345678901234567890123456789012345678901234567
Antonio López Alicante 8344621
Juan Moreno Alicante 4352359
Resolución en el ordenador:
A:\>type amigos3.txt
A:\>type amigos4.txt
A:\>del amigos?.txt
A:\>
Capítulo 10
Ficheros por lotes (I)
10-1 Introducción
En muchas ocasiones los usuarios de ms-dos repiten una determinada secuencia de órdenes día tras día, suponiendo una tarea bastante molesta e incómoda. Los
ficheros por lotes pretenden automatizar una tarea rutinaria ejecutando una serie de órdenes definidas con antelación.
En este capítulo aprenderemos aquellas herramientas necesarias para crear un fichero por lotes. En el capítulo siguiente, se exponen y estudian útiles ejemplos
que abarcan la totalidad del temario estudiado.
Como ejemplo, vamos a crear un fichero por lotes llamado TIEMPO.BAT. Para su confección podemos utilizar la orden Copy o el programa Edit.
Si ahora ejecutamos el fichero recién creado, vemos como entran en funcionamiento las órdenes Date y Time.
C:\BATH>tiempo
C:\BATH>date
La fecha actual es Mar 15/08/1995
Escriba la nueva fecha (dd-mm-aa):
C:\BATH>time
La hora actual es 0:53:54,12
Escriba la nueva hora:
C:\BATH>
Todas las órdenes admitidas después del símbolo del sistema pueden introducirse también en un fichero por lotes. Además, existen una serie de órdenes
diseñadas específicamente para estos ficheros:
La siguiente tabla muestra aquellos símbolos empleados exclusivamente en los ficheros por lotes:
Símbolo Significado
:etiqueta Nombre de una etiqueta.
%número Parámetro del fichero por lotes.
%variable% Variable del entorno.
%%variable Variable de la orden For.
El eco de una orden es el propio nombre de aquella escrito en la pantalla. Al poner en marcha el fichero anterior, observará como aparece el nombre de cada
orden en pantalla antes de ejecutarse. Al fichero del ejemplo podemos añadirle la línea ECHO OFF para desactivar el eco en lo sucesivo.
Para eliminar el eco de la propia orden ECHO OFF se antepone el símbolo arroba (@) al nombre de la orden. Veámoslo más claro en los ejemplos siguientes.
Programa:
echo off
date
time
Ejecución:
C:\BATH>tiempo
C:\BATH>echo off
La fecha actual es Mar 15/08/1995
Escriba la nueva fecha (dd-mm-aa):
La hora actual es 0:53:54,12
Escriba la nueva hora:
Programa:
@echo off
date
Curso de MS-DOS Capítulo 10 Página 3 de 11
time
Ejecución:
C:\BATH>tiempo
La fecha actual es Mar 15/08/1995
Escriba la nueva fecha (dd-mm-aa):
La hora actual es 0:53:54,12
Escriba la nueva hora:
La orden Echo también permite mostrar mensajes al usuario del fichero. En el siguiente ejemplo se ha introducido el mensaje "Este es el fichero
TIEMPO.BAT":
Programa:
@echo off
echo Este es el fichero TIEMPO.BAT
date
time
Ejecución:
C:\BATH>tiempo
Este es el fichero TIEMPO.BAT
La fecha actual es Mar 15/08/1995
Escriba la nueva fecha (dd-mm-aa):
La hora actual es 1:10:22,72
Escriba la nueva hora:
@echo off
rem Programa: TIEMPO.BAT
rem Cometido: Mostrar al usuario la fecha y la hora del
rem sistema y ofrecerle la oportunidad de modificarla.
date
time
Ejercicios de autocomprobación
1. Indique la diferencia entre las siguientes órdenes:
Vamos a confeccionar un fichero por lotes que borre dos ficheros introducidos como parámetros.
Programa:
@echo off
rem Programa: BORRA2.BAT
del %1
del %2
Ejecución:
En la línea de órdenes, cada parámetro debe estar separado con un espacio en blanco del anterior. De la forma anteriormente explicada podemos gestionar hasta
nueve de ellos (del %1 al %9).
Para referirnos a un parámetro introducido en la línea de órdenes del programa, debemos escribir el signo de porcentaje (%) seguido del número de parámetro.
El siguiente ejemplo copia los ficheros introducidos como parámetros al disquete de la unidad B:
Programa:
@echo off
rem Programa: COPIAB.BAT
echo Se están copiando los ficheros %1, %2 y %3 a la unidad B:
copy %1 b:\
copy %2 b:\
copy %3 b:\
Ejecución:
Para mejorar la presentación, podemos insertar un mensaje indicando el motivo de la detención del programa gracias a la orden Echo:
Ejercicios de autocomprobación
2. ¿Qué hace la orden PAUSE >NUL ?
3. Escriba un fichero de procesamiento por lotes que pida un disco en la unidad A: antes de mostrar su directorio raíz.
Curso de MS-DOS Capítulo 10 Página 5 de 11
GOTO [:]etiqueta
Las etiquetas deben ir precedidas de dos puntos (:) para diferenciarse de las
órdenes. Admiten hasta ocho caracteres significativos. Esto último significa que la etiqueta `BALANCE_DE_AGOSTO' es idéntica a
`BALANCE_DE_ENERO'.
Programa:
@echo off
ver
goto Final
vol
:Final
Ejecución:
En este ejemplo, la orden Vol nunca se ejecutará: al llegar la orden GOTO FINAL, ms-dos salta hasta la etiqueta :Final y termina el fichero porque no hay más
líneas.
Vamos a crear un programa para copiar varios disquetes desde la unidad A: al directorio actual.
@echo off
rem Programa: DEMO.BAT
echo ********************************************
echo ** Este programa copia todos los ficheros **
echo ** de la unidad A: al directorio actual **
echo ********************************************
pause
:Proceso
copy a:\ .
echo Introduzca el siguiente disquete en A: y pulse Enter
pause >nul
goto Proceso
En primer lugar el programa muestra en pantalla su cometido y así, el usuario decide entre continuar (Enter) o abandonar (Ctrl+Pausa). Si pulsa Enter se copian
todos los ficheros del directorio raíz de A: en el directorio actual.
Luego, se ofrece la posibilidad de introducir otro disquete. Si pulsamos Enter se ejecuta la orden GOTO PROCESO, desviando la ejecución del programa hasta
la etiqueta :Proceso. En cambio, si pulsamos Ctrl+Pausa el programa finaliza, apareciendo el símbolo del sistema.
Ejercicios de autocomprobación
4. ¿Qué hace el siguiente fichero por lotes?
@echo off
dir c:\
goto etiqueta2
:etiqueta1
ver
:etiqueta2
Curso de MS-DOS Capítulo 10 Página 6 de 11
10-8 La orden IF
Desvía condicionalmente el proceso de ejecución de un fichero por lotes. Admite 6 sintaxis diferentes:
IF EXIST
Un programador debe considerar todas y cada una de las situaciones posibles al ejecutarse su programa y, por tanto, debe evitar la aparición de mensajes de
error inesperados en la pantalla.
@echo off
del %1
Si ahora lo hacemos funcionar introduciendo como parámetro un fichero inexistente, el ms-dos tomará el control y dará su correspondiente mensaje de error.
Este fichero resulta más correcto si contiene las siguientes líneas:
@echo off
if not exist %1 echo ¡Es imposible borrar un fichero que no existe!
if exist %1 del %1
De esta forma, la orden Del sólo funciona si el fichero existe.
IF cadena1==cadena2
En el fichero BORRA2.BAT hemos supuesto que el usuario siempre introduce dos parámetros. Sin embargo, se producirá un error si el usuario sólo introduce
uno de ellos: la orden DEL %2 quedará transformada en DEL a secas y como Del no funciona sin parámetros, ms-dos mostrará una advertencia. Este problema
se soluciona con lo siguiente:
@echo off
rem Programa: BORRA2B.BAT
if "%1"=="" echo Debe introducir uno o dos ficheros como parámetros.
if not "%1"=="" del %1
if not "%2"=="" del %2
La primera línea If avisa si no se ha introducido ningún parámetro. La segunda línea únicamente borrará el primer parámetro si se ha introducido. La tercera
línea hace lo mismo pero con el segundo parámetro.
IF ERRORLEVEL
Cada orden externa de ms-dos genera un código de salida a su término indicando si pudo realizarse satisfactoriamente.
Generalmente un código de salida 0 indica que no hubo ningún problema y un código de salida superior hace referencia a diferentes errores.
Curso de MS-DOS Capítulo 10 Página 7 de 11
Muchos ficheros por lotes necesitan saber si la orden anterior cumplió su cometido correctamente: para ello utilizan la orden If errorlevel.
Es muy importante recordar que la orden se ejecutará si el código de salida es igual o superior al especificado detrás de ERRORLEVEL.
Código Significado
0 Los ficheros fueron copiados sin error.
1 No se encontraron ficheros para copiar.
2 El usuario presionó Ctrl+Pausa para suspender el proceso de Xcopy.
4 Ocurrió un error de inicio. No hay suficiente memoria o espacio en el disco, se introdujo un nombre de unidad no válida o se
utilizó una sintaxis incorrecta en la línea de órdenes.
5 Ocurrió un error de escritura de disco.
Vamos a crear un fichero por lotes para copiar los ficheros de la unidad A: a la B: e informe del resultado de la copia.
@echo off
rem Programa: COPIA-AB.BAT
xcopy a:\ b:\
if errorlevel 1 goto Error
if errorlevel 0 echo ¡La copia fue correcta!
goto Final
:Error
echo Se produjo un error durante la copia
:Final
En primer lugar, Xcopy intenta realizar la copia de ficheros y devolverá un código de salida. Si se ha producido algún error el código será 1 o superior y
entonces, el programa se desvía hasta la etiqueta :Error, muestra el mensaje y finaliza. Si la copia fue satisfactoria, el código de salida es 0. La segunda línea If
mostrará el mensaje de éxito, saltando después a la etiqueta :Final y como no hay más líneas, termina el proceso.
En muchas ocasiones puede ser fuente de complicaciones que If errorlevel número se cumpla si el número es igual o mayor. Para cumplirse exclusivamente si
el código de salida es 5 -por ejemplo- podemos usar lo siguiente:
Esta compleja línea se traduce así: «Si el código de salida es 5 o superior pero inferior a 6 ejecutar Dir», es decir, si el código es 5 ejecutar Dir.
Su sintaxis es:
/C:opciones Especifica las opciones posibles. Si el usuario pulsa la primera de las opciones, Choice devolverá un código de salida 1; si pulsa
la segunda opción, Choice devuelve el código 2 y así sucesivamente. Si no se especifica este parámetro se asumen las opciones
por defecto (SN).
/N No muestra las opciones admitidas detrás del mensaje.
/S Hace distinción entre mayúsculas y minúsculas. Si no se especifica este parámetro se toman como la misma opción.
/T:opción,segs Toma la opción indicada si no se pulsa ninguna otra tecla en los segundos especificados.
Curso de MS-DOS Capítulo 10 Página 8 de 11
mensaje Contiene el mensaje mostrado al usuario pidiendo que introduzca una de las opciones admitidas.
El programa DEMO.BAT podemos mejorarlo sensiblemente si cambiamos las órdenes Pause por órdenes Choice.
@echo off
rem Programa: DEMOB.BAT
echo ********************************************
echo ** Este programa copia todos los ficheros **
echo ** de la unidad A: al directorio actual **
echo ********************************************
choice ¿Desea continuar?
if errorlevel 2 goto Final
:Proceso
copy a:\ .
choice Para continuar con otro disquete pulse C y para finalizar, F /C:FC
if errorlevel 2 goto proceso
:Final
En la primera orden Choice se toman las opciones por defecto S y N. `S' corresponde a un código de salida 1 y `N' a un código 2. En la segunda orden Choice
se toman las opciones F y C. `F' corresponde a un código 1 y `C' a un código 2.
Con la orden Choice y de una forma muy sencilla podemos crear menús con diferentes opciones:
@echo off
rem Programa: UTIL.BAT
:Menu
cls
echo UTILIDADES DE MS-DOS
echo --------------------
echo.
echo A. Anti-Virus
echo B. Backup
echo D. Defragmentar
echo E. Editor
echo S. Salir
echo.
:Anti
MSAV
goto Menu
:Backup
MSBACKUP
goto Menu
:Defrag
DEFRAG
goto Menu
:Editor
EDIT
goto Menu
:Salir
echo.
Observe la orden Choice: el modificador /C indica las opciones admitidas. Si se pulsa la `A' se generará un código de salida 1 y así sucesivamente hasta la `S'
que corresponde a un código 5. Gracias al modificador /N Choice no muestra las teclas admitidas detrás del mensaje. El modificador /T toma como opción por
defecto la `S' si pasan 15 segundos sin pulsar ninguna tecla.
Observe, asimismo, cómo se ha comenzado en las líneas If por el errorlevel más alto: así se evitan conflictos. El código de salida 0 se obtiene si el usuario
responde con Ctrl+Pausa al mensaje de Choice.
Curso de MS-DOS Capítulo 10 Página 9 de 11
Ejercicios de autocomprobación
5. Escriba un fichero de procesamiento por lotes para borrar el fichero introducido como parámetro. El programa debe comprobar
previamente si se ha introducido algún parámetro y si el fichero existe.
7. Escriba un fichero por lotes que nos pregunte si deseamos ver el directorio de A: o el de B:
Ejemplo:
La orden FOR
Su sintaxis es:
Esta orden repite la orden especificada para cada valor del conjunto. Conjunto es una lista de nombres de ficheros. En ella, se pueden establecer varios
nombres separados por espacios y también, utilizar comodines.
Ejemplo
La variable %%I va tomando cada uno de los valores del conjunto y se los envía a la orden Type. En este ejemplo se visualizan en pantalla los ficheros
JUAN.TXT, MARIA.TXT y todos los que tengan extensión DAT.
La orden SHIFT
Se traduce al español por desplazamiento. Mueve el valor de cada parámetro a la variable anterior. Por ejemplo, si existen 3 parámetros (%1, %2 y %3) y se
utiliza la orden Shift, el valor de %1 lo tomará %0, el valor de %2 lo tomará %1 y el valor de %3 lo tomará %2.
Programa:
Curso de MS-DOS Capítulo 10 Página 10 de 11
@echo off
rem Programa: DEMO2.BAT
echo El parámetro 1 es %1
shift
echo El parámetro 2 es %1
shift
echo El parámetro 3 es %1
Ejecución:
La orden CALL
Se utiliza para llamar a un fichero por lotes desde el interior de otro. Su sintaxis es:
En el siguiente ejemplo, el fichero PRG1.BAT llama a PRG2.BAT. Cuando la ejecución de PRG2.BAT termina, continua PRG1.BAT en la siguiente línea a
Call.
Programa PRG1.BAT:
@echo off
echo línea 1
call prg2.bat
echo línea 4
echo línea 5
Programa PRG2.BAT:
@echo off
echo línea 2
echo línea 3
Ejecución:
C:\BATH>prg1
línea 1
línea 2
línea 3
línea 4
línea 5
C:\BATH>
1. La línea ECHO muestra el mensaje "Ficheros por lotes" en pantalla y la línea REM es ignorada al funcionar el programa.
2. Espera la pulsación de una tecla. Como la salida de Pause está redireccionada al dispositivo nulo, no se mostrará ningún mensaje en la
pantalla.
3.
@echo off
Echo Introduzca un disquete en la unidad A:
Pause
Curso de MS-DOS Capítulo 10 Página 11 de 11
dir a:\
4. Muestra el directorio raíz de la unidad C: y luego la versión del sistema operativo. Como el nombre de las etiquetas sólo admite ocho
caracteres significativos la orden GOTO ETIQUETA2 llevará a la primera etiqueta empezada por ETIQUETA, en este caso ETIQUETA1.
5.
@echo off
if "%1"=="" goto Error1
if not exist %1 goto Error2
del %1
echo El fichero %1 se ha borrado
goto Final
:Error1
echo Debe especificar un fichero
goto Final
:Error2
echo El fichero %1 no existe
:Final
echo.
6. Las órdenes externas devuelven un código de salida para ser utilizado en los ficheros por lotes. Posteriormente se podrá evaluar este código
gracias a la orden If errorlevel.
7.
@echo off
echo A. Ver el directorio de A:
echo B. Ver el directorio de B:
choice Elija opción /c:ab
if errorlevel 1 if not errorlevel 2 dir a:\
if errorlevel 2 if not errorlevel 3 dir b:\
Puesta en práctica
Además de los ejemplos expuestos en este capítulo, en el siguiente encontrará una selección de varios ficheros por lotes. Se sugiere comentar cada uno de los
ficheros y, una vez comprendidos, introducirlos en el ordenador.
Capítulo 11
Ficheros por lotes (II)
11-1 Introducción
Este capítulo está dedicado a la explicación de varios ejemplos de ficheros por lotes. Este es un capítulo avanzado, pues
comprende prácticamente toda la materia estudiada durante el curso. Posiblemente necesite volver atrás en más de una
ocasión.
Normalmente los ficheros por lotes comprenden una serie de tareas que son útiles desde cualquier directorio. Lo más
normal es crear un directorio dedicado exclusivamente a los ficheros por lotes: en los ejemplos explicados se asume el
directorio C:\BATH. Además, debemos introducir el directorio elegido en la ruta de acceso (variable PATH). De esta
forma podemos ejecutar cualquier fichero por lotes desde cualquier directorio del ordenador.
Como las demostraciones estudiadas a lo largo del capítulo son relativamente largas, se recomienda utilizar el Editor
del ms-dos para la creación y su posterior edición.
El primer fichero objeto de estudio es el rey de los ficheros por lotes: el AUTOEXEC.BAT. Seguidamente se estudian
sus diferencias con el resto del conjunto de ficheros por lotes y se repasan las órdenes más usuales.
En el capítulo destinado a las variables del entorno, advertimos que estas variables se guardan en la memoria y se
pierden al apagar el ordenador. La única forma de tener unas variables del entorno fijas (PATH, PROMPT, TEMP...)
es definiéndolas en cada arranque del ordenador.
El fichero AUTOEXEC.BAT contiene además órdenes para configurar el idioma del usuario.
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 2 de 9
Por último, suele contener unas órdenes cuya misión es cargar programas residentes en memoria. Estos programas
quedarán almacenados en memoria hasta el apagado del ordenador. Se suelen introducir como programas residentes un
anti-virus, el programa Doskey y cualquier otro.
Por tanto, el fichero AUTOEXEC.BAT debe contener estos tres módulos indispensables:
z Órdenes para configurar las variables del entorno (Set, Path y Prompt).
z Órdenes para seleccionar el idioma.
z Órdenes para instalar programas residentes.
@ECHO OFF
SET PROMPT=$P$G
SET PATH=C:\DOS;C:\BATH;C:\WINDOWS
SET TEMP=C:\DOS\TEMP
SET DIRCMD=/O:GEN
C:\DOS\SMARTDRV.EXE
C:\DOS\DRIVERS\MOUSE.COM
C:\DOS\SHARE.EXE /L:500 /F:5100
C:\DOS\DOSKEY /INSERT
C:\DOS\VSAFE
El primer grupo de órdenes contiene la definición de variables del entorno. Recuerde que las variables PATH y
PROMPT se pueden definir con la orden Set o con unas órdenes diseñadas al efecto llamadas igualmente Path y
Prompt.
Orden Significado
SET
Define el símbolo del sistema.
PROMPT
SET PATH Define la vía de acceso.
SET TEMP Define el directorio para ficheros temporales.
SET Define cómo queremos ver el directorio (ordenación,
DIRCMD formato...).
El tercer grupo de órdenes cargan en memoria programas residentes. Aunque suele ser suficiente poner el nombre de la
orden a secas, es habitual añadir la trayectoria del fichero delante de su nombre y la extensión detrás: de esta forma no
hay confusión posible. A continuación se colocan los parámetros.
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 3 de 9
Orden Significado
SMARTDRV Carga un programa de caché de disco (ver Capítulo 13).
MOUSE Carga el controlador del ratón (se suministra al adquirir un ratón).
SHARE Controla la compartición de ficheros. Es requerido por algunas
aplicaciones.
DOSKEY Instala el editor de órdenes y macros (ver Capítulo 12).
VSAFE Carga el anti-virus residente de ms-dos (ver Capítulo 17).
Programa:
@echo off
echo.
dir \%1 /b /s /p
echo.
Ejecución:
C:\BATH>buscar perdido.*↵
C:\PERDIDO.TXT
C:\PRUEBA\PERDIDO.DBF
C:\TRABAJOS\PERDIDO.TXT
C:\BATH>
Lo verdaderamente importante en este fichero es la orden Dir. El utilizar el símbolo de directorio raíz `\' antes del
parámetro es para comenzar la búsqueda desde el directorio raíz a todos los subdirectorios. De esta forma no hará falta
cambiar al raíz para hacer funcionar al programa.
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 4 de 9
El parámetro %1 se sustituirá automáticamente por el fichero o grupo de ficheros a buscar. El parámetro /b presenta el
resultado de la búsqueda en formato sencillo. El parámetro /s permite buscar el fichero en todos los subdirectorios y,
finalmente, el parámetro /p muestra por pantallas el resultado de la búsqueda.
En el ejemplo se han buscado todos los ficheros con nombre PERDIDO y se han encontrado tres.
Suponga que sólo quiere ver la hora. Si ejecuta la orden Time, deberá pulsar Enter para no cambiar la hora actual.
Este problema se soluciona si redirigimos la entrada de la orden desde un fichero, llamado RELOJ.TXT que contiene
únicamente 2 bytes: un retorno de carro (Enter) y un código de fin de fichero (Ctrl+Z).
Como la salida de la orden contiene dos líneas y sólo nos interesa la primera, podemos filtrar la salida con la orden
Find.
Para funcionar el fichero RELOJ.BAT, se necesita crear el fichero RELOJ.TXT de la siguiente forma: escribimos
COPY CON RELOJ.TXT, pulsamos Enter dos veces, pulsamos Ctrl+Z y pulsamos finalmente Enter.
C:\BATH>
Programa:
@echo off
rem Autor: Saulo Barajas
rem Fecha: Agosto de 1995
rem Programa: RELOJ.BAT
rem Cometido: Mostrar la fecha y la hora actual en pantalla
:Error
echo ¡Falta el fichero RELOJ.TXT!
:Final
echo.
Ejecución:
C:\BATH>reloj↵
La fecha actual es Mar 15/08/1995
La hora actual es 14:15:09,58
C:\BATH>
En primer lugar se comprueba la existencia del fichero RELOJ.TXT en el directorio C:\BATH. Si el directorio en el
que reside es otro, debemos ajustar las órdenes convenientemente. Si el fichero RELOJ.TXT no existe, el programa no
funcionará correctamente y, con el fin de evitarlo, se muestra un aviso y termina.
Si el fichero existe, se ejecutan las órdenes Date y Time. El operador `<' hace que la entrada de la orden sea el fichero
RELOJ.TXT y el filtro Find hace aparecer la línea que contiene la palabra actual.
Programa:
@echo off
rem Autor: Saulo Barajas
rem Fecha: Agosto de 1995
rem Programa: PROGRAMA.BAT
rem Cometido: Visualizar ordenados y con pausa en cada
rem pantalla todos los ficheros ejecutables del
rem directorio actual.
set fichtemp=%temp%\temporal.txt
set fichtemp=
echo.
Ejecución:
C:\WP60>programa↵
CV.EXE
INSTALL.BAT
MCV.EXE
QFIGENES.EXE
VAPINUL.COM
VMP.COM
WPINFO.EXE
WP.COM
WP.EXE
C:\WP60>
Este fichero por lotes necesita crear un fichero temporal para ir añadiéndole todos los ficheros con extensiones COM,
EXE o BAT. Este fichero temporal debe ser creado en el directorio destinado a este fin (variable TEMP). Por tanto se
crea otra variable llamada FICHTEMP que contiene el nombre del fichero (TEMPORAL.TXT) y su trayectoria.
Si no se utilizase el directorio definido en la variable TEMP para crear el fichero TEMPORAL, podría darse el caso de
intentar escribir en un disquete protegido contra escritura y no poder completarse la función del programa.
La primera línea If crea el fichero temporal con el nombre de los ficheros con extensión COM. La segunda línea If
añade al fichero temporal, aquellos ficheros con extensión EXE y la tercera línea If hace lo mismo con los ficheros
BAT.
La orden Type muestra todos los programas (ahora grabados en el fichero TEMPORAL.TXT) ordenados y por
pantallas.
Finalmente, la orden Del borra el fichero temporal creado y la orden Set elimina la variable del entorno creada.
Si le parece interesante la idea consulte la orden Undelete. Undelete detecta la orden Del de ms-dos y mueve,
igualmente, los ficheros a un directorio. Lo más importante de Undelete es la posibilidad de eliminar (realmente) los
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 7 de 9
Programa:
@echo off
goto Final
:Error
echo ¡No se pudo borrar %1!
:Final
echo.
Ejecución:
C:\PRUEBA>borrar *.ini↵
C:\PRUEBA>
La primera orden If detecta si no se ha introducido ningún parámetro, produciendo un aviso en este caso. La segunda
orden If comprueba que el fichero para borrar exista, si no es así dará un mensaje de error.
La orden Xcopy mueve el fichero o ficheros especificados como parámetros al directorio C:\BASURA. La barra
inclinada invertida detrás de BASURA se emplea para informar a Xcopy que BASURA es un directorio y no un
fichero. Si el directorio no existe, Xcopy sabrá que es un directorio y lo creará automáticamente. La salida de la orden
se ha redireccionado al dispositivo ficticio NUL. De esta forma, no aparecerá ningún mensaje producido por la orden
en la pantalla.
La siguiente línea If comprueba el código de salida. Si se ha producido un error en la copia de los ficheros, los ficheros
no se borrarán. Esto es una medida de seguridad para evitar la desaparición definitiva de los ficheros.
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 8 de 9
La orden Del borra los ficheros del directorio actual. Ya hemos mencionado el problema de este fichero por lotes.
Como solución, se informa al usuario del número de ficheros y los bytes ocupados por todos ellos en el directorio
C:\BASURA. De esta forma el usuario sabrá si debe borrar con la orden Del los ficheros del directorio BASURA.
Programa:
@echo off
:Proceso
echo.
echo ** Inserte un nuevo disquete en A: Pulse Enter para proseguir
pause >nul
echo.
echo ¡No se pudo realizar la copia!
goto final
:FinCopia
echo.
echo ¡El proceso de copia se completó con éxito!
:Final
echo.
La primera línea If detecta si el directorio actual está vacío produciendo un error. La orden Attrib enciende el bit de
archivar a todos los ficheros del directorio actual.
Curso de MS-DOS. Capítulo 11: Ficheros por lotes (II) Página 9 de 9
Seguidamente, COPIADIR.BAT pide un primer disquete en la unidad A:, luego comienza la copia de todos los
ficheros a la unidad A:. El parámetro /m desactiva el bit de archivar a los ficheros copiados.
Las posibilidades son las siguientes: a) No hay suficiente espacio en el disco para copiar todos los ficheros. En este
caso, se pide otro disquete y se reanuda la copia donde se quedó; b) Se presionó Ctrl+Pausa u ocurrió un error de
escritura en el disco. Se produce un mensaje y finaliza; c) La copia fue correcta. Esto significa que todos los ficheros
han podido copiarse en uno o más disquetes y por tanto, se ha cumplido el objetivo del programa.
Capítulo 12
El programa DOSKEY
12-1 Introducción
Doskey es un programa residente en memoria diseñado para facilitarnos la edición de anteriores líneas de órdenes y la
introducción de órdenes frecuentemente utilizadas.
Doskey guarda en memoria las últimas órdenes tecleadas y permite acceder a ellas de una forma sencilla. Además, es
capaz de crear macros. Las macros guardan un paralelismo con los ficheros por lotes pero son más sencillas y rápidas.
Este capítulo se divide en tres partes: edición de órdenes sin Doskey, edición de órdenes con Doskey y creación de
macros.
El presente capítulo es el último de esta primera parte del libro. Al final del capítulo podrá encontrar ejercicios de todo
el temario estudiado durante el curso. La segunda parte presenta una serie de capítulos prácticamente independientes
entre ellos, que le otorgarán el grado de usuario avanzado de ms-dos.
Vamos a denominar plantilla a una región de memoria que almacena la última línea de órdenes introducida.
C:\VARIOS>copy a:\ .
C:\VARIOS>copy a:\ .
La Flecha derecha hace aparecer los caracteres grabados en la plantilla uno a uno. Las teclas Flecha izquierda y
Retroceso eliminan el último carácter de la línea actual.
C:\VARIOS>copy a:\ .
puede cambiar la letra `a' por la `b' de la siguiente forma: pulse la Flecha derecha cinco veces, luego escriba una `b' y
pulse la Flecha derecha hasta el final.
C:\VARIOS>copy b:\ .
Suprimir un carácter
La tecla Supr elimina el carácter de la plantilla situado en la posición actual del cursor.
C:\>dir //p /w
puede eliminar la barra inclinada repetida de la siguiente forma: utilice la Flecha derecha cinco veces, pulse Supr y
luego continúe con la Flecha derecha hasta el final.
C:\>dir /p /w
Insertar un carácter
La tecla Insert permite introducir caracteres en la línea actual sin sobrescribir la plantilla.
C:\>dir /w /p
y deseamos introducir `*.exe' entre `dir' y `/w' debemos dar los siguientes pasos: pulsamos la Flecha derecha cuatro
veces, presionamos Insert, escribimos `*.exe' y dejamos presionada la Flecha derecha hasta el final.
Curso de MS-DOS Capítulo 12 Página 3 de 7
C:\>dir *.exe /w /p
Puede que en muchas ocasiones prefiera repetir la nueva línea e ignorar lo explicado hasta el momento. Sin embargo,
estos procedimientos resultan muy útiles al trabajar con líneas de órdenes largas y complejas.
Por defecto, Doskey reserva 512 bytes como almacén de últimas órdenes. Por término medio, esto significa un almacén
para unas 50 órdenes.
Para instalar el programa, escriba DOSKEY a continuación del símbolo del sistema. A partir de ese instante, Doskey
permanecerá en la memoria del ordenador, facilitando las tareas de repetición y edición de anteriores órdenes.
Existen tres procedimientos para recuperar una orden tecleada con anterioridad.
z Flecha arriba y Flecha abajo. En cada pulsación de la Flecha arriba aparecerá la orden anteriormente tecleada a
la actual. Y en cada pulsación de Flecha abajo, la orden posterior.
z Pulsar la tecla F7 para ver una lista con todas las órdenes almacenadas en memoria y sus respectivos números.
Luego, pulsamos F9 e indicamos el número de línea de órdenes a recuperar.
z Introducir los primeros caracteres de la orden y pulsar F8. Doskey mostrará la primera orden que empiece de
esta forma. Para ver más, pulsamos repetidamente la tecla F8.
La siguiente tabla explica las teclas de uso frecuente reconocidas por Doskey.
Teclas Utilidad
Flecha arriba Muestra la orden anterior a la actual.
Flecha abajo Muestra la orden posterior a la actual.
RePag Muestra la primera orden almacenada.
AvPag Muestra la última orden almacenada.
Curso de MS-DOS Capítulo 12 Página 4 de 7
Sintaxis
Puede personalizar el funcionamiento de Doskey si utiliza sus parámetros al instalarlo. Su sintaxis es:
Modificador Descripción
/REINSTALL Instala una nueva copia del programa. Se emplea para cam-biar el tamaño del almacén sin reiniciar
el ordenador. Utilice lo menos posible este parámetro, pues cada copia instalada ocupa memoria.
/BUFSIZE=bytes Reserva los bytes especificados para guardar órdenes y macros. El valor por defecto es 512 y el
mínimo 256.
/HISTORY Muestra todas las órdenes almacenadas.
/INSERT Establece el modo de insertar como modo por defecto.
/OVERSTRIKE Establece el modo sobrescribir como modo por defecto. Si no se especifica ni el
parámetro /INSERT ni /OVERSTRIKE se toma OVERSTRIKE.
Curso de MS-DOS Capítulo 12 Página 5 de 7
Guardarse en la memoria lleva consigo una mayor rapidez de ejecución; pero también, una disminución de memoria
libre y la pérdida de las macros al apagarse el ordenador.
Para ejecutar una macro se introduce su nombre a continuación del símbolo del sistema seguido de los posibles
parámetros que soporte.
Una vez que hemos instalado Doskey, utilizamos la siguiente sintaxis para trabajar con macros:
El valor de una macro admite nombres de órdenes con sus respectivos parámetros y, además, unos caracteres especiales
precedidos del signo dolar ($).
Símbolo Descripción
$1 a $9 Son los parámetros agregados detrás del nombre de la macro. Es similar a los símbolos %1 al %9
en los ficheros por lotes.
$* Hace referencia a todos los parámetros agregados detrás de la macro.
$T Separador de órdenes
$G Operador >
$G$G Operador >>
$L Operador <
$B Operador |
Aplicaciones:
C:\>doskey rapid=format a: /q
(Después de introducir esta macro, escribir `rapid' será equivalente a escribir `format a: /q')
C:\>doskey mc=
C:\>doskey /macros
Ejercicios de autocomprobación
1. ¿En qué ocasión no es conveniente instalar el programa Doskey?
a) sin Doskey.
b) con Doskey instalado.
3. La tecla F7
4. El código de un fichero por lotes, como indica su nombre, se almacena en un fichero. Admite, por
tanto, cualquier tamaño. En cambio, una macro solamente tiene una línea y su almacenamiento se
realiza en memoria.
Puesta en práctica
Introduzca en su fichero AUTOEXEC.BAT de su ordenador una línea de órdenes que instale el programa Doskey al
arrancar su equipo. Utilice los parámetros necesarios para establecer el modo de insertar como modo por defecto y
reserve 300 bytes para guardar órdenes y macros.
C:\>edit autoexec.bat
@ECHO OFF
SET PROMPT=$P$G
SET PATH=C:\DOS;C:\TRABAJOS\BATH
SET TEMP=C:\DOS\TEMP
SET DIRCMD=/O:GEN
Reinicie el ordenador.
Capítulo 13
La memoria
13-1 Introducción
En este capítulo se explica uno de los temas más conflictivos entre los usuarios de ms-dos: la memoria del ordenador. Se
ha dividido en dos partes claramente diferenciadas: explicación de los diferentes tipos de memoria y análisis de las
órdenes de ms-dos relacionadas con la gestión de memoria.
z SMARTDRV.EXE. Crea un caché de disco en memoria. De esta forma se ahorran accesos al disco duro y se
acelera notablemente el rendimiento global del sistema. Aunque este programa es situado automáticamente en el
AUTOEXEC al instalar ms-dos, aprenderá a configurarlo adecuadamente para su equipo.
z RAMDRIVE.SYS. Crea una unidad de disco RAM en memoria. Un disco RAM se comporta como cualquier otra
unidad de disco, es decir, para referirnos a ella utilizamos una letra del alfabeto. Podemos crear directorios,
ficheros, etc. Su ventaja es la impresionante velocidad al leer o escribir datos. Sin embargo, ocupa la siempre
escasa memoria del ordenador y su contenido se pierde al desconectarlo.
z MEMMAKER. Optimiza la memoria del sistema. Su objetivo principal es liberar la mayor cantidad de memoria
convencional. La razón es simple: todos los programas de aplicación basados en ms-dos utilizan esta memoria.
Memoria ROM
En esta memoria se encuentran los programas que toman el control al encender el ordenador, realizan un chequeo del
sistema y finalmente buscan un sistema operativo para ejecutarlo.
Curso de MS-DOS Capítulo 13 Página 2 de 12
Un elemento de suma importancia en el funcionamiento de un ordenador reside en la memoria ROM: la BIOS (Basic
Input Output System: Sistema básico de entrada y salida). La ROM-BIOS engloba un conjunto de sencillas rutinas para
gestionar la pantalla, teclado, discos... Como vemos, el sistema operativo junto con la BIOS es el encargado de
desarrollar las operaciones más básicas del ordenador.
Memoria RAM
La memoria RAM es el elemento central en el funcionamiento de un ordenador. Internamente, toda la información del
ordenador tiene paso obligado por la memoria RAM. Para ejecutar cualquier programa, éste debe copiarse previamente a
la memoria.
Por estas razones la memoria que nos interesa es la RAM: a partir de ahora utilizaremos el término memoria para
referirnos a la memoria RAM.
El siguiente gráfico representa el funcionamiento general de un ordenador: cualquier dato introducido por teclado se
coloca en memoria. El microprocesador toma los datos de la memoria, los procesa y devuelve el resultado al mismo
lugar. Posteriormente pueden ser almacenados en el disco o visualizados en pantalla.
Aunque toda la memoria es igual, según su lugar en el mapa de memoria adquiere diversos nombres. Cada programa
necesita uno o varios tipos de memoria. Por esta razón debemos aprender a configurar el ordenador de acuerdo a los
requerimientos de cada aplicación.
Memoria convencional
Comprende la porción entre 0K y 640K. Esta memoria es aprovechada sin problemas por la totalidad de órdenes del
sistema y las aplicaciones. Debido a ciertas limitaciones del microprocesador y del propio ms-dos, otras zonas de
memoria tienen un acceso mucho más difícil. Por tanto, todos los programas que admitan otro tipo de memoria, deben
trasladarse para conseguir la mayor cantidad posible de memoria convencional. La zona entre 0K y 64K se denomina
también memoria baja.
Memoria superior
Es la zona situada entre los 640K y los 1024K (1Mb). Esta memoria es aprovechada principalmente por el sistema.
Como la memoria ROM es lenta, se suelen copiar a esta zona, las rutinas de la ROM-BIOS y así conseguir una
velocidad global mucho mayor. También se utiliza para almacenar los caracteres impresos en la pantalla en cada
momento.
Sin embargo, los programadores del dos advirtieron que los datos del sistema no ocupan la totalidad de esta memoria. A
partir de la versión 5.0 de ms-dos se pueden cargar controladores y programas residentes en los bloques libres de
memoria superior.
Controlador de dispositivo.— Programa que comunica el ms-dos con un dispositivo hardware (impresora,
ratón, tarjeta de sonido...). Se suele instalar agregando una línea Device al fichero CONFIG.SYS o
Devicehigh para instalarlo en memoria superior.
Programa residente (TSR).— Programa que permanece en memoria después de ejecutarse. Para
instalarlo en memoria superior se utiliza la orden Lh.
Fichero CONFIG.SYS .— Es un fichero de texto ASCII que contiene una serie de órdenes especiales para
configurar el ordenador (Ver Capítulo 18). Este fichero debe encontrarse en el directorio raíz de la unidad
de arranque. Al cargarse el MS-DOS primero se ejecuta el CONFIG.SYS y luego el AUTOEXEC.BAT.
Memoria alta
Es la memoria comprendida entre 1024K y 1088K. Esta zona de apenas 64K se puede aprovechar para instalar el núcleo
del ms-dos y ahorrar memoria convencional (Ver más adelante la orden Dos de CONFIG.SYS).
Curso de MS-DOS Capítulo 13 Página 4 de 12
Memoria expandida
Es una técnica software utilizada para acceder a la memoria por encima de 1 Mb. Para emplear memoria expandida se
precisa un administrador de memoria expandida. Como las aplicaciones sólo son capaces de acceder a la memoria
inferior de 1Mb, el administrador se encarga de copiar, según se necesiten, los datos por encima de 1Mb a un marco de
página de 64K situado en memoria superior.
Como solamente se puede trabajar con 64K de información a la vez, es necesario copiar continuamente datos desde la
memoria expandida (más de 1Mb) a la memoria superior y viceversa. Otra solución más rápida y eficiente es la llamada
memoria extendida.
Memoria extendida
Es la memoria por encima de 1Mb. Para poder alcanzar esta región, el microprocesador debe trabajar en un modo
llamado modo protegido. Aunque el ms-dos, no es capaz de operar en este modo, la mayoría de las aplicaciones sobre
ms-dos emplean diversas técnicas para acceder a memoria extendida.
Es necesario un administrador de memoria extendida como HIMEM.SYS para habilitar esta memoria.
Nota: El usuario debe revisar los requerimientos de sus aplicaciones para comprobar si necesita memoria
extendida o expandida.
Para utilizar la memoria extendida y la alta es necesario introducir la siguiente línea en el fichero CONFIG.SYS:
DEVICE=C:\DOS\HIMEM.SYS
Esta línea debe colocarse delante de aquellas líneas de órdenes que precisen memoria extendida. Al instalar ms-dos, se
coloca automáticamente la orden anterior en la primera línea del CONFIG.SYS.
El controlador EMM386.EXE puede habilitar la memoria superior, la expandida o ambas. Este controlador precisa
situarse en el fichero CONFIG.SYS detrás del controlador HIMEM.SYS.
Curso de MS-DOS Capítulo 13 Página 5 de 12
Las siguientes entradas preparan los bloques de memoria superior para su posterior uso:
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=UMB
La siguiente entrada toma memoria extendida para simular expandida cuando sea necesario.
DEVICE=C:\DOS\EMM386.EXE
Las siguientes entradas habilitan los bloques de memoria superior y toman memoria extendida para simular expandida
cuando sea necesario.
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=UMB
Notas: No prepare memoria expandida a menos que una aplicación se lo indique. La memoria superior es
recomendable habilitarla.
Indica el lugar donde se cargará el núcleo del ms-dos y prepara la memoria superior para cargar controladores y
programas residentes.
Aplicaciones:
z Cargar ms-dos en memoria convencional y no habilitar memoria superior. Al ser la configuración por defecto, no
se introduce ninguna orden.
z Cargar ms-dos en memoria alta y no habilitar memoria superior. Se introduce la siguiente línea en cualquier lugar
del CONFIG.SYS:
DOS=HIGH
DOS=UMB
z Cargar ms-dos en memoria alta y habilitar memoria superior. Esta posibilidad es la más recomendable.
DOS=HIGH,UMB
Ejemplos de configuración
¿Cuáles son las órdenes necesarias para un fichero CONFIG.SYS en cada caso?
Curso de MS-DOS Capítulo 13 Página 6 de 12
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB
1. Instalar HIMEM.SYS
2. Instalar EMM386.EXE
3. Introducir una orden Dos que contenga el parámetro UMB.
Los controladores se suelen configurar en el fichero CONFIG.SYS mediante órdenes Device. Sin embargo, Device los
instala en memoria convencional. Para instalar un controlador en memoria superior debemos cambiar Device por
Devicehigh. Ejemplo:
DEVICEHIGH=C:\DOS\ANSI.SYS
Esta orden del CONFIG.SYS carga en memoria superior el controlador ANSI.SYS situado en el directorio C:\DOS.
Generalmente los programas residentes en memoria se inician desde el fichero AUTOEXEC.BAT. Es habitual, además,
especificar la trayectoria completa del programa para evitar confusiones. Por ejemplo:
Curso de MS-DOS Capítulo 13 Página 7 de 12
C:\DOS\DRIVERS\MOUSE.COM
LH C:\DOS\DRIVERS\MOUSE.COM
Notas: Algunos controladores y programas residentes no admiten cargarse en memoria superior. Otros se
cargan en memoria superior aunque no se utilicen las órdenes estudiadas (por ejemplo, SMARTDRV.EXE).
Si se intenta cargar un controlador o programa en memoria superior pero está totalmente ocupada, se
cargará de forma automática en memoria convencional.
Es posible que si utiliza las órdenes Devicehigh y Lh llegue a liberar una gran cantidad de memoria convencional. Sin
embargo, hay algunos programas que no pueden ejecutarse en memoria baja (de 0K a 64K) y producen el error "Archivo
comprimido alterado". En estas ocasiones utilice la orden Loadfix para forzar la ejecución del programa por encima de
los primeros 64K de memoria.
A:\>loadfix game.exe
Parámetro Descripción
/C Presenta una lista de aquellos programas cargados actualmente en memoria, indicando la memoria
convencional y superior usada por cada uno.
/D Informa acerca de los programas y controladores cargados actualmente en memoria. Proporciona
amplia información técnica sobre cada uno.
/F Ofrece una relación detallada de los bloques libres existentes en memoria convencional y superior.
/M programa Muestra la memoria usada actualmente por un programa.
/P Muestra la información de salida con pausa en cada pantalla. Puede usarse con cualquier
modificador anterior.
Utilice los modificadores /D y /P conjuntamente para conocer la cantidad de memoria utilizada por cada elemento
instalado. De esta forma puede conocer con detalle la cantidad de memoria utilizada por cada programa y decidir si
merece la pena tal gasto. Si desea optimizar su memoria adecuadamente pruebe con diversas configuraciones en los
Curso de MS-DOS Capítulo 13 Página 8 de 12
ficheros CONFIG.SYS y AUTOEXEC.BAT y luego, observe el gasto de memoria en cada caso con la orden Mem.
D:\>mem
D:\>
En este ejemplo, observamos la distribución de memoria en un ordenador con 8Mb totales. El apartado "Memoria
Superior" hace referencia, en realidad, a los bloques libres de memoria superior. Como sabemos la memoria superior es
de 384K, pero en este caso solamente se pueden aprovechar como máximo 111K.
El apartado "Memoria Reservada" aparece en otras versiones de ms-dos como "Adaptador RAM/ROM". Hace referencia
a una zona de memoria empleada íntegramente por rutinas del sistema. Aquí se incluye la copia de la ROM-BIOS sobre
memoria RAM.
Finalmente, en "Extendida" se indica la restante memoria hasta completar los 8Mb del ordenador en cuestión.
La línea "Total menor 1 MB" es la suma entre "Memoria Convencional" y "Memoria Superior".
Las línea «Programa ejecutable más extenso» muestra la memoria convencional libre. Esta cifra es decisiva para
conocer si un programa puede ejecutarse o no. Aunque un ordenador tenga 32Mb totales de memoria, si la convencional
está totalmente ocupada, las aplicaciones darán un mensaje de memoria insuficiente.
La última línea ofrece información sobre la memoria alta. Observe que no hay forma de conocer cuánta memoria alta
hay ocupada y cuánta libre.
z Un caché de disco de lectura evita que ms-dos lea dos veces en disco la misma información en intervalos cortos
de tiempo.
z Un caché de disco de escritura retarda la grabación de datos en el disco cuando el ordenador tiene mucho trabajo
y aprovecha los momentos de menor actividad para ir guardando los datos en el disco.
Veámoslo más claro con un ejemplo. Un usuario trabaja frecuentemente en una base de datos y precisa consultar y
cambiar continuamente unos mismos datos. Si el usuario necesita abrir un fichero, ms-dos lo busca el disco, lo copia en
el caché y luego se lo ofrece a la aplicación. Si posteriormente, dicha persona necesita abrir el mismo fichero, ms-dos se
ahorrará volver a leerlo en el disco porque ya se encuentra almacenado en memoria.
Lógicamente, el mayor o menor rendimiento de un caché de disco viene definido por la cantidad de memoria destinada.
Cuanta más memoria se dedique al caché, mayor número de informaciones del disco se podrán almacenar.
SMARTDRV
El programa proporcionado por ms-dos como caché de disco se denomina Smartdrv. Para instalarlo se utiliza la
siguiente sintaxis:
Después de la instalación podemos usar desde el símbolo del sistema la siguiente sintaxis:
Parámetro Explicación
unidad Es la letra de unidad la cual estamos definiendo. Después de la unidad puede estar el signo más (+),
el signo menos (-) o ninguno de los dos. Incluyendo el signo más, se habilita el caché de lectura y
escritura. Sin colocar ningún signo detrás de la unidad, se habilita el caché de lectura
exclusivamente y colocando un signo menos se elimina el caché para la unidad. Si no especifica
ninguna unidad, Smartdrv revisará sus unidades de disco y decidirá por usted.
TamCachéIni Especifica el tamaño del caché en kilobytes. Si no utiliza este parámetro, Smartdrv lo establecerá
automáticamente según nuestro equipo. Si su memoria es igual o superior a 4Mb seguramente le
interesará aumentar el caché. Si una aplicación precisa memoria y el ordenador no dispone de ella,
Smartdrv reduce el caché y cede memoria a la aplicación. Por consiguiente, podemos crear un gran
caché con la seguridad que la memoria especificada queda a disposición de las aplicaciones.
TamCachéWin Especifica el tamaño mínimo del caché al que las aplicaciones podrán reducirlo. Al utilizar
Windows 3.1 ó 3.11, el caché se reduce automáticamente al mínimo.
/E:TamElem Indica la cantidad de bytes que Smartdrv puede mover a la vez. Los valores válidos son 1024, 2048,
4096 y 8192. El valor por defecto es 8192.
/B:TamBúfer
Especifica el tamaño en bytes del búfer. El búfer es información adicional leída en cada acceso al
disco. Si se pide leer 16384 bytes del disco duro y el búfer es de 8192 bytes, ms-dos leerá la
Curso de MS-DOS Capítulo 13 Página 10 de 12
información pedida y además los 8192 bytes situados detrás. El tamaño por defecto del búfer es
16384 bytes.
/C Escribe toda la información del caché en el disco duro.
/R Borra el contenido del caché existente y reinicia Smartdrv.
/F Escribe los datos del caché antes de mostrar el símbolo del sistema. Este modificador sólo es válido
para las versiones de Smartdrv suministradas con ms-dos 6.20 y 6.22. Este es el valor por defecto en
estas versiones.
/N Escribe los datos del caché durante la inactividad del sistema. Al regreso del símbolo del sistema, no
todos los datos del caché han sido escritos. Este modificador sólo es válido para las versiones de ms-
dos 6.20 y 6.22. Sin embargo, éste es el valor por defecto en la versión 6.0 de ms-dos.
/L Carga Smartdrv en memoria convencional. Si no se especifica se carga en memoria superior.
/V Muestra mensajes al iniciarse Smartdrv.
/Q No muestra mensajes al iniciarse Smartdrv. Es la opción por defecto.
/S Presenta el estado de Smartdrv.
Tenga precaución si utiliza el caché de escritura con alguna unidad. Antes de apagar el ordenador debe salir siempre al
símbolo del sistema. Ahora bien, la forma de comportarse de Smartdrv depende de la versión de ms-dos instalada:
z Si tiene instalada la versión 6.0 le conviene utilizar SMARTDRV /C o pulsar Ctrl+Alt+Supr antes de apagar su
ordenador. Si no sigue uno de estos procedimientos se arriesga a perder información no grabada al disco.
z Si tiene instalada la versión 6.2 o superior no es necesario seguir estos procedimientos (a no ser que utilice el
modificador /N). Cuando el símbolo del sistema aparezca en pantalla es señal de haber escrito la totalidad de los
datos al disco. Entonces, puede apagar el ordenador con total seguridad.
Lo normal es instalar Smartdrv en el fichero AUTOEXEC.BAT. Para calcular el tamaño de caché ideal deberá realizar
diversas pruebas en su sistema. En primer lugar, ejecute Smartdrv sin especificar el tamaño del caché y luego escriba
SMARTDRV /S para averiguar cuáles son las cantidades por defecto sugeridas para su sistema.
Al especificar el parámetro /S Smartdrv presenta los aciertos y los fallos de su caché. Se produce un acierto cuando se
ahorra un acceso al disco y un fallo cuando la información no se encuentra en el caché y debe buscarse en el disco.
Probando diversas configuraciones y utilizando el parámetro /S podrá calcular la configuración óptima para su
ordenador.
Ejemplos:
z La siguiente línea insertada en el autoexec.bat, crea un caché de disco de 2 Mb de memoria extendida. Como
tamaño mínimo de caché se establece 1 Mb. Como no se especifican unidades, el caché para el disco duro será de
lectura/escritura y para los disquetes de sólo lectura.
z La siguiente línea insertada el autoexec.bat, crea un caché de disco en memoria extendida de 5 Mb. Como tamaño
mínimo se establecen 2 Mb. Se habilita el caché de lectura en la unidad C: y se deshabilita el caché en la unidad
D:
z Es una unidad. Es decir, se comporta como otra unidad de disquete o disco duro. Al crear un disco RAM se le
adjudica la siguiente letra libre de unidad. A partir de ese momento se pueden crear y borrar ficheros de la forma
habitual.
z En memoria. Al crearse en memoria lleva consigo una enorme rapidez al acceder a los datos contenidos. Pero
también supone una disminución de la memoria libre. Recuerde además que la memoria RAM es volátil: los datos
guardados deberán copiarse a un lugar permanente antes de apagar el ordenador.
En realidad, un disco RAM responde a necesidades muy concretas: ordenadores con mucha memoria, programadores,
etc. Como generalmente la memoria RAM es un bien escaso -y caro- puede resultar más interesante crear un gran caché
de disco antes de un disco RAM.
RAMDRIVE.SYS
Para crear un disco RAM se utiliza el controlador RAMDRIVE.SYS. Debe instalarse en el CONFIG.SYS mediante una
orden Device. Su sintaxis es:
DEVICE=RAMDRIVE.SYS
[TamañoDisco [TamañoSector [NúmEntradas]]] [/E|/A]
Parámetro Explicación
TamañoDisco Tamaño en Kb del disco RAM. El tamaño por defecto es de 64K y el máximo es 32767K (32Mb) si
su ordenador tiene más de 32Mb de memoria.
TamañoSector Tamaño del sector en bytes. Se admiten los valores de 128, 256 y 512 bytes. El tamaño por defecto
es 512 bytes.
NúmEntradas Número de entradas admitidas en el directorio raíz del disco RAM. Los valores válidos son de 2
hasta 1024.
/E La unidad RAM se crea en memoria extendida.
/A La unidad RAM se crea en memoria expandida.
Ejemplos:
Para crear un disco RAM de 1Mb en memoria extendida, introduzca la siguiente línea en el fichero CONFIG.SYS.
DEVICE=C:\DOS\RAMDRIVE.SYS 1024 /E
Curso de MS-DOS Capítulo 13 Página 12 de 12
Para crear un disco RAM de 2Mb en memoria expandida y un número máximo de entradas en el directorio raíz de 20,
introduzca la siguiente línea en el fichero CONFIG.SYS
En esencia, el programa Memmaker modifica los ficheros CONFIG.SYS y AUTOEXEC.BAT con objeto de liberar la
mayor cantidad de memoria convencional. Para ello habilita la memoria superior y desplaza aquellos programas que lo
permitan desde la memoria convencional a la superior.
Para ejecutar el programa Memmaker, reinicie su ordenador y luego escriba MEMMAKER a continuación del símbolo
del sistema.
Este programa posee una completa ayuda en pantalla que le guiará en cada momento. Si desea más información pulse la
tecla F1. Para completar la optimización de memoria, Memmaker deberá reiniciar su ordenador un par de veces.
Finalmente, el programa presentará una pantalla indicando los cambios efectuados en memoria.
Si por alguna razón, su ordenador se bloquea al arrancar el sistema operativo, debe conocer las siguientes teclas:
z F5. Si pulsa la tecla F5 mientras se presenta en pantalla el mensaje "Iniciando MS-DOS...", se le pedirá
confirmación antes de ejecutar cada orden del CONFIG.SYS y del AUTOEXEC.BAT. Así, puede encontrar la
orden que produce el bloqueo.
z F8. Si pulsa la tecla F8 mientras aparece el mensaje anterior, se omitirán los ficheros CONFIG.SYS y
AUTOEXEC.BAT.
Para restaurar los cambios efectuados por Memmaker, escriba lo siguiente a continuación del símbolo del sistema (si
pulsa F8 al arrancar el ordenador, la vía de acceso no se define y debe cambiar antes al directorio C:\DOS):
C:\>cd dos
C:\DOS>memmaker /undo
Capítulo 14
Los discos del DOS
14-1 Introducción
Este capítulo muestra cómo graba ms-dos la información en los discos. Explica detalladamente cada una de las divisiones físicas
propias de todo disco (caras, pistas, sectores) así como la estructura lógica creada por ms-dos al formatear un disco (sector de
arranque, FAT, directorio raíz, área de datos).
Además, el capítulo es especialmente interesante por las órdenes Chkdsk y Scandisk. Estas órdenes de conocimiento
imprescindible solucionan los errores producidos en un disco. Le conviene aprender a solucionar posibles problemas en su disco
duro, pues se producen a menudo y pueden llegar a inutilizar el disco.
z La unidad de disco. Dispositivo mecánico que mueve las cabezas de lectura y escritura para acceder a toda la superfice del
disco.
z La controladora de disco. Dispositivo electrónico que transforma las peticiones del sistema operativo en movimiento de la
unidad de disco.
En los discos duros, el disco y la unidad de disco forman un solo cuerpo cerrado herméticamente. No se puede utilizar más de un
disco para la misma unidad de disco duro.
Por el contrario, las unidades de disco flexible y compacto admiten diversos discos para la misma unidad.
Las unidades de disco flexible se corresponden con los tipos de disquetes existentes: 5¼ DD, 5¼ HD, 3½ DD, 3½ HD y 3½ ED.
Cada una de estas unidades admite el disquete indicado en su nombre y los inferiores de su mismo tamaño. Es decir, una disquetera
de 3½ HD trabaja con discos de 3½ HD y 3½ DD. En cambio, una disquetera de 5¼ DD solamente admite discos de 5¼ DD.
El siguiente cuadro muestra los discos admitidos por cada unidad de disco flexible:
Curso de MS-DOS Capítulo 14 Página 2 de 14
Las unidades de disco compacto se clasifican según su velocidad de acceso a una información (en milisegundos) y su velocidad de
transferencia. La velocidad de transferencia de datos entre el disco compacto y el ordenador se rige por la siguiente tabla:
Tipo de unidad Velocidad de transferencia
Simple velocidad 150 Kilobytes cada segundo.
Doble velocidad 300 Kb/seg
Triple velocidad 450 Kb/seg.
Cuádruple velocidad 600 Kb/seg.
Velocidad x 150 · x Kb/seg.
Aunque es necesaria una controladora de disco para cada unidad, generalmente se comercializan tarjetas con varias controladoras
integradas. El caso más común son tarjetas controladoras (se conectan a la placa base y unidades de disco) para dos unidades de
disco flexible y dos unidades de disco duro. Sin embargo, la tendencia actual es incorporar las controladoras en la propia placa
base. Las unidades de disco compacto se conectan como segundo disco duro o bien, a una tarjeta controladora propia.
14-3 El disco
Es un soporte magnético que almacena información de forma permanente. La memoria, en cambio, es almacenamiento temporal.
Los datos de la memoria se pierden al apagar el ordenador pero los datos de un disco quedan grabados aún sin corriente eléctrica.
{ Pistas o cilindros.
{ Sectores.
{ FAT.
{ Directorio raíz
{ Área de datos.
Curso de MS-DOS Capítulo 14 Página 3 de 14
Estructura física
Cada tipo de disco posee una estructura propia, determinada por el fabricante.
Los valores de los discos duros dependen de su capacidad. Además, discos duros con igual capacidad y diferente fabricante pueden
tener estructura física distinta.
Las caras son las superficies del disco que almacenan datos. Los disquetes actuales poseen dos caras: la superior y la inferior. Para
acceder a cada cara del disco, las unidades poseen una cabeza de lectura/escritura por cada una.
Las pistas son anillos concéntricos en cada una de las caras. En los discos duros se denominan cilindros.
A su vez, las pistas se subdividen en sectores. En la mayoría de los discos un sector almacena 512 bytes de información.
Estructura lógica
Cada sistema operativo crea una estructura lógica distinta en sus discos. En este caso, estudiamos la estructura lógica creada por
ms-dos.
El siguiente gráfico representa el desarrollo de un disco formateado, desde el primer sector hasta el último.
Curso de MS-DOS Capítulo 14 Página 4 de 14
El propósito de esta estructura lógica es grabar y leer datos de la forma más eficiente posible. Cada una de las divisiones tiene un
tamaño fijo según el disco y una misión específica para el sistema operativo.
La siguiente tabla muestra el sector de comienzo y cantidad de sectores ocupados por cada área en los cuatro disquetes más
extendidos.
Nota: Para crear un disquete de arranque utilice la orden Sys o también Format con el modificador /S.
z Tipo de disco.
z Número de FAT's.
Los dos primeros grupos están reservados (grupos 0 y 1). El primer grupo disponible es el número 2.
Cada grupo puede almacenar información de un sólo fichero. Si un fichero no cabe en un sólo grupo, se utilizan varios -no
necesariamente contiguos-.
En un disquete de 3½ HD, cada grupo almacena 512 bytes. Si crea un fichero de 1 byte, éste se almacena ocupando todo un grupo.
Si luego crea otro fichero de 1 byte, éste empleará un nuevo grupo. Como vemos, el gasto del disco no es de 2 bytes sino de ¡1024
bytes!
14-6 La FAT
Es el índice del disco. Almacena los grupos utilizados por cada fichero, los grupos libres y los defectuosos.
Como hemos indicado anteriormente, un fichero puede usar varios grupos no consecutivos. Para seguir el rastro del fichero por el
disco, el dos emplea la FAT.
La FAT o tabla de asignación de ficheros es de tal importancia en un disco que se graba por duplicado. Si la FAT se estropea, el
dos no reconocerá la información del disco.
Vamos a verlo con un ejemplo. En un disquete vacío de 3½ HD creamos un fichero de 251 bytes llamado ROMANCE.TXT. Como
Curso de MS-DOS Capítulo 14 Página 6 de 14
el grupo es de 512 bytes, ROMANCE ocupa el primero disponible (grupo 2). La FAT contiene lo siguiente:
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 (libre)
4 (libre)
5 (libre)
... ...
Luego, creamos otro fichero llamado SONETO.TXT de 632 bytes. Como no cabe en un sólo grupo, ocupa dos. LA FAT cambia
automáticamente:
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 4
4 (final)
5 (libre)
... ...
Ahora, borramos el fichero ROMANCE.TXT. El dos marca como libres los grupos ocupados por el fichero (en este caso, el grupo
2).
Grupo Valor
0 (reservado)
1 (reservado)
2 (libre)
3 4
4 (final)
5 (libre)
... ...
Para finalizar, creamos un nuevo fichero con 606 bytes de tamaño y de nombre RECUERDO.TXT. ms-dos busca el primer grupo
disponible y lo utiliza. Como no cabe en un sólo grupo, busca otro y también lo utiliza. La FAT queda de esta forma.
Grupo Valor
0 (reservado)
Curso de MS-DOS Capítulo 14 Página 7 de 14
1 (reservado)
2 5
3 4
4 (final)
5 (final)
... ...
Cada entrada es almacenada en disco como un conjunto de 32 bytes. Todos los campos menos el nombre y extensión se codifican
para ahorrar espacio. Por ejemplo, el campo de la hora con sólo 2 dígitos almacena horas, minutos y segundos.
Notas: La orden Dir muestra los campos nombre, extensión, hora, fecha y tamaño. Sin embargo no muestra los
segundos del campo hora. La orden Attrib muestra los campos nombre, extensión y los atributos de sólo lectura (R),
oculto (H), sistema (S) y archivar (A).
Los subdirectorios del raíz se comportan como ficheros. Aunque parezca extraño, para el dos un directorio es un fichero cuyo
nombre es el nombre del directorio y cuyo contenido son las entradas del directorio. Para diferenciar a los subdirectorios de los
ficheros, el dos coloca un atributo especial a los subdirectorios (D).
Además, el directorio raíz contiene la etiqueta del disco. La etiqueta ocupa una entrada más y posee un atributo característico (E).
Recuerde como el nombre de una etiqueta no puede sobrepasar los 11 caracteres (8 + 3).
Nota: La etiqueta de un disco se almacena en dos lugares distintos: sector de arranque y directorio raíz.
Si al disco del ejemplo anterior, le creamos un subdirectorio llamado TEXTOS y además, le ponemos la etiqueta "CAPITULO-14",
el directorio raíz será el siguiente:
La orden CHKDSK
Tiene dos misiones principales: mostrar información relativa al disco y corregir errores del disco (ver más adelante).
A:\>chkdsk
La primera línea obtiene la información de la entrada con atributo E en el directorio raíz. El número de serie del disco lo encuentra
leyendo el sector de arranque.
La siguiente línea muestra la capacidad total del área de datos. "Bytes en x directorio(s)" apunta los bytes consumidos por los
subdirectorios (sin contar el raíz). Debe ser múltiplo del tamaño del grupo. La línea "bytes en x archivo(s) de usuario" indica los
bytes ocupados por el total de ficheros en el disco. Debe ser múltiplo igualmente del tamaño del grupo. Si dividimos 2560 entre
512 obtenemos 5 grupos utilizados por ficheros. Los bytes disponibles se obtienen restando de la capacidad total, los bytes usados
(1.457.664 - 512 - 2560 = 1.454.592)
El siguiente bloque de texto muestra información sobre los grupos o unidades de asignación. Como ya sabemos, los grupos de un
disquete de 3½ HD almacenan un máximo de 512 bytes. Restando los grupos totales menos los grupos disponibles, tenemos los
Curso de MS-DOS Capítulo 14 Página 9 de 14
grupos usados (2.847 _ 2.841 = 6). Seis grupos usados: cinco en ficheros y uno en subdirectorios.
Las particiones son divisiones lógicas efectuadas en un disco duro. Responden a una necesidad muy importante en informática:
compartir un mismo disco duro para varios sistemas operativos. Cada partición tiene la estructura lógica correspondiente a su
sistema operativo. Una partición dos contiene sector de arranque, FAT, directorio raíz y área de datos. Los datos de una partición
no se mezclan con los de otra.
Si se preparan varias particiones es necesario establecer una partición como activa. La partición activa es la que arranca al
encender el ordenador.
En el primer sector de todo disco duro se sitúa una tabla de particiones con el siguiente formato.
Cuando el ordenador arranca, busca en la tabla de particiones la partición activa y cede el control al sector de arranque de dicha
partición.
Chkdsk detecta únicamente los siguientes errores. Para corregirlos es necesario añadir el modificador /F.
Para verificar el disco duro C:, escriba lo siguiente según su versión de ms-dos:
C:\>chkdsk /f
Si detecta algún error, Chkdsk pide confirmación al usuario antes de solventarlo. Si el disco es correcto, Chkdsk
muestra información del disco y termina.
C:\>scandisk
Scandisk comprueba en primer lugar la estructura lógica del disco y en segundo lugar, la estructura física. Si detecta alguna
anomalía, Scandisk ofrece una explicación detallada del problema antes de resolverlo. Si se encargó solucionar el error, Scandisk
ofrece la posibilidad de crear un disquete Deshacer. Un disquete Deshacer permite restaurar un disco a su estado original si éste
funciona peor después de la reparación efectuada. Para ello escribimos SCANDISK /UNDO.
Curso de MS-DOS Capítulo 14 Página 11 de 14
Verificar el disco duro frecuentemente es una tarea más que necesaria. Los errores lógicos o físicos pueden producirse por diversos
motivos: no salir adecuadamente de las aplicaciones, apagar el ordenador a mitad de una operación, un corte de suministro
eléctrico, fallo de la parte mecánica del disco duro, programas defectuosos...
Por estas razones debe solucionar los posibles errores antes de que sea demasiado tarde. Una colección de pequeños errores pueden
inutilizar el disco.
Si dispone de una versión de ms-dos anterior a la 6.0 agregue la siguiente línea al AUTOEXEC.BAT para que el disco duro sea
chequeado en cada arranque del sistema.
CHKDSK C: /F
SCANDISK C: /CUSTOM
Debido a la vital importancia de este área, se encuentra almacenada en dos lugares diferentes. Si Scandisk detecta alguna diferencia
entre ambas copias, actualiza la segunda copia con los datos de la primera.
Chkdsk y Scandisk revisan las entradas de los directorios comparándolas con la FAT. Si detectan un carácter no válido o un dato
incorrecto en alguna entrada, se lo comunican al usuario.
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 (libre)
... ...
El fichero PRUEBA.TXT, según el directorio raíz, empieza en el grupo 2. Observando la FAT, el grupo 2 es el último del fichero.
Sin embargo, un grupo equivale a 512 bytes y el fichero tiene 711 bytes. Para solucionar el problema, Scandisk o Chkdsk cambian
el valor 711 por 512.
Cadenas perdidas
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 (final)
4 5
5 (final)
... ...
El grupo 4 y 5 se encuentran en la FAT como usados. Sin embargo, ningún fichero se hace responsable de estas informaciones. Por
tanto, los grupos 4 y 5 forman una cadena perdida. Para solucionarlo, tanto Chkdsk como Scandisk ofrecen dos posibilidades:
borrar o recuperar.
Grupo Valor
0 (reservado)
Curso de MS-DOS Capítulo 14 Página 13 de 14
1 (reservado)
2 (final)
3 (final)
4 (libre)
5 (libre)
... ...
Si recuperamos, ms-dos asigna un nombre de fichero a la cadena perdida. A la primera cadena recuperada la llama FILE0001.CHK
y así sucesivamente:
Generalmente las cadenas perdidas recuperadas no tienen ninguna utilidad y se pueden borrar simplemente. Este error se produce
frecuentemente al apagar el ordenador sin salir de una aplicación.
Vínculos cruzados
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
... ...
El siguiente disco de 3½ HD posee un vínculo cruzado a nivel de FAT. El grupo 3 es compartido por dos ficheros.
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
Curso de MS-DOS Capítulo 14 Página 14 de 14
... ...
Para solventar un vínculo cruzado, Chkdsk o Scandisk copian el grupo común a otro lugar del disco. El segundo fichero implicado
se dirige al nuevo lugar, rompiendo el cruzamiento.
Errores físicos
Se origina un error físico en un sector del disco cuando ese sector no almacena datos de forma segura.
Si Scandisk encuentra un sector defectuoso en el sector de arranque, FAT o directorio raíz, no puede hacer nada y el disco queda
inservible.
En cambio, si encuentra un grupo defectuoso en el área de datos, Scandisk copia la información existente a lugar seguro y marca en
la FAT ese grupo como defectuoso.
La siguiente FAT corresponde a un disco con el grupo 3 defectuoso. ms-dos evitará ese bloque en todas las operaciones de
escritura:
Grupo Valor
0 (reservado)
1 (reservado)
2 4
3 (defectuoso)
4 (final)
... ...
Capítulo 15
Defrag, Undelete y Unformat
15-1 Introducción
En este capítulo se estudia la utilidad, uso y funcionamiento interno de estas tres herramientas proporcionadas por ms-dos:
z Defrag. Elimina la fragmentación del disco duro y, en consecuencia, se acelera la búsqueda de información por el disco.
z Undelete. Recupera ficheros borrados por equivocación. Admite varios niveles que garantizan en mayor o menor medida el
éxito de la restauración.
z Unformat. Restablece un disco formateado con Format por equivocación. Solamente se asegura una recuperación total si el
disco no ha sido modificado desde el uso de Format.
15-2 DEFRAG
Elimina la fragmentación de un disco.
Concepto de fragmentación
Un disco está fragmentado cuando posee algún fichero (o directorio) almacenado en grupos no consecutivos del disco.
Grupo.— Los ficheros (o directorios) creados por el usuario se almacenan en uno o más grupos. Cada tipo de disco
tiene un número fijo de grupos. El primero disponible es el número 2. Un fichero (o directorio) ocupa como mínimo un
grupo. Para más información ver capítulo anterior.
FAT.— Es una división lógica del disco. Almacena qué grupos son ocupados por cada fichero o directorio. Se explica
detalladamente en el capítulo anterior.
Grupo Valor
0 (reservado)
1 (reservado)
2 5
3 4
4 (final)
5 (final)
Observe cómo el disco tiene dos ficheros. El primero comienza en el grupo 2 y sigue en el 5. Está fragmentado en dos grupos no
Curso de MS-DOS Capítulo 15 Página 2 de 16
contiguos. El segundo fichero ocupa los grupos 3 y 4. Por tanto, se almacena en un sólo bloque.
z Por borrado
Cuando se borra un fichero, la FAT se actualiza y marca como libres los grupos ocupados por el fichero. Si luego creamos un nuevo
fichero más largo que el borrado, no entrará en el hueco libre y ocupará nuevos grupos.
La siguiente FAT corresponde a un supuesto disco con dos ficheros. El primero está situado únicamente en el grupo 2 y el segundo
ocupa los grupos 3 y 4.
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 4
4 (final)
5 (libre)
Grupo Valor
0 (reservado)
1 (reservado)
2 (libre)
3 4
4 (final)
5 (libre)
Finalmente, creamos un fichero que ocupe dos bloques del disco. ms-dos ocupará los dos primeros marcados como libres (el 2 y el
5). Se acaba de producir una fragmentación:
Grupo Valor
0 (reservado)
1 (reservado)
2 5
3 4
4 (final)
5 (final)
z Por ampliación
Si añadimos información a un fichero existente, posiblemente invadirá un nuevo grupo. En el siguiente ejemplo hemos creado dos
ficheros. Cada uno ocupa un solo grupo.
Curso de MS-DOS Capítulo 15 Página 3 de 16
Grupo Valor
0 (reservado)
1 (reservado)
2 (final)
3 (final)
Suponga que el primer fichero corresponde a una carta destinada a un viejo amigo. Si recuerda algo importante no incluido en la
carta seguramente lo añadirá al fichero. Conclusión: el primer fichero aumenta de tamaño. Tenemos un nuevo caso de
fragmentación:
Grupo Valor
0 (reservado)
1 (reservado)
2 4
3 (final)
4 (final)
Para comprender cómo la fragmentación ralentiza el funcionamiento de un disco, vamos a observar un caso extremo. La FAT
representada a continuación pertenece a un imaginario disquete de 3½ HD (2847 grupos totales).
Grupo Valor
0 (reservado)
1 (reservado)
2 2846
3 2845
... ...
2845 (final)
2846 3
El fichero está ocupando los grupos 2, 2846, 3 y 2845. Cuando ms-dos acceda a tal singular fichero, se provocarán tres largos
desplazamientos de las cabezas lectoras: el grupo 2 y el 2846 son los más distantes físicamente en un disco de 3½ HD.
El programa Defrag mueve la información de cada grupo con objeto de colocar secuencialmente los ficheros y directorios:
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 4
4 5
5 (final)
... ...
Utilización de DEFRAG
Curso de MS-DOS Capítulo 15 Página 4 de 16
Aunque soporta una serie de parámetros en su línea de órdenes, es usual ejecutarlo sin ninguno.
C:\>defrag
Nota: Algunos programas residentes son incompatibles con Defrag. Tales son los casos de Fastopen y Windows.
El programa dispone de una pequeña ayuda sensible al contexto. Podemos pulsar F1 en cualquier momento para solicitar
información ampliada.
Defrag comprueba nuestro equipo y nos pregunta qué unidad deseamos optimizar. Seguidamente, lee el disco y aconseja uno de los
dos métodos de optimización.
z Optimización plena. Coloca los directorios al principio del área de datos seguido por los ficheros. No deja ningún grupo sin
utilizar entre dos usados: todos quedan al final del disco.
z Defragmentar sólo archivos. De esta forma, no queda ningún fichero (o directorio) repartido en grupos no contiguos. Sin
embargo, deja grupos libres entre usados. Los ficheros y directorios quedan entremezclados en el disco. Este método de
optimización es más rápido aunque ofrece peores resultados que la optimización plena.
Para aceptar el método propuesto, pulse el botón "Optimizar". Para acceder a más opciones pulse "Configurar".
Ordenación de archivos... Clasifica según un criterio (nombre, extensión, fecha o tamaño) los ficheros dentro de cada
directorio. No coloca los ficheros físicamente ordenados en el área de datos, sino ordena únicamente las entradas de
cada directorio.
Leyenda de mapa... El mapa aparecido en el centro de la pantalla representa el área de datos del disco, desarrollado
desde el primer grupo hasta el último. Cada carácter (bloque) simboliza varios grupos contiguos. Este comando muestra
el significado de los caracteres empleados en el mapa.
Curso de MS-DOS Capítulo 15 Página 5 de 16
Cuando Defrag termina la optimización de una unidad ofrece un cuadro de diálogo con tres botones:
Niveles de protección
z Estándar. Es el nivel más bajo. No ocupa memoria ni espacio en disco. En ocasiones muy concretas, Undelete no puede
restaurar un fichero ni ejecutándolo justo después de borrarlo.
z Registro de eliminación. Ofrece un nivel intermedio de seguridad. Ocupa 13,5K de memoria y un insignificante espacio en
disco (55K en discos duros con más de 32Mb totales). Garantiza la recuperación de un fichero si no se escribió nada en el
disco desde su eliminación. Precisa crear un fichero en el directorio raíz denominado PCTRACKR.DEL
z Centinela de eliminación. Ocupa 13,5K de memoria y cierto espacio en disco. Asegura la recuperación total de los últimos
ficheros borrados. Necesita crear un subdirectorio del raíz oculto llamado SENTRY para almacenarlos.
Instalar un nivel
Debe optar por uno de los tres niveles de protección (Estándar, Registro o Centinela). Considere el gasto de memoria y disco de cada
uno, así como su efectividad.
z Para instalar el nivel Estándar no debe hacer nada: está presente desde el encendido del ordenador.
z Para instalar el Registro de eliminación agregue la siguiente línea a su AUTOEXEC.BAT y reinicie el ordenador.
Curso de MS-DOS Capítulo 15 Página 6 de 16
C:\DOS\UNDELETE.EXE /T
C:\DOS\UNDELETE.EXE /S
En el segundo caso, se habilita el Registro para su disco duro. En discos mayores de 32Mb, la configuración por defecto almacena
datos sobre los 303 últimos ficheros. Se creará un fichero llamado PCTRACKR.DEL en su directorio raíz con los atributos de
archivar y sistema.
En el tercer caso, se crea un directorio oculto desde el raíz con nombre SENTRY. Este directorio, por defecto, está limitado al 20%
del tamaño del disco. Si se sobrepasa, se eliminan -esta vez definitivamente- los ficheros más antiguos. Además, los ficheros
borrados no podrán residir en este directorio más de 7 días.
Para configurar Undelete se utiliza el fichero UNDELETE.INI situado en el directorio C:\DOS. Si no existe, se crea
automáticamente al cargar Undelete en memoria. A continuación tiene un ejemplo del fichero UNDELETE.INI
[configuration]
archive=FALSE
days=7
percentage=20
[sentry.drives]
C=
D=
[mirror.drives]
C=
E=
[sentry.files]
sentry.files=*.* -*.TMP -*.VM? -*.WOA -*.SWP -*.SPL -*.RMG -*.IMG -*.THM -*.DOV
[defaults]
d.sentry=FALSE
d.tracker=TRUE
El fichero consta de 5 secciones: configuration, sentry.drives, mirror.drives, sentry.files y defaults. Se describen a continuación:
"archive" se puede igualar a "TRUE" o a "FALSE". Si es "FALSE" los ficheros sin atributo de archivar, se copian al
directorio SENTRY. Si es "TRUE" estos ficheros no se copian. La razón de esta opción es sencilla, un fichero sin
atributo de archivar significa que se ha copiado a disquetes con Xcopy o Msbackup.
"days" se debe igualar al número máximo de días que permanecerán los ficheros en el directorio SENTRY.
"percentaje" debe igualarse a un número entre 1 y 100. Es el porcentaje del total de disco que como máximo puede ser
destinado al directorio SENTRY.
La sección [sentry.drives] contiene las unidades protegidas por el método Centinela si se activa este método. En este caso las
unidades C: y D:
La sección [mirror.drives] contiene las unidades protegidas por el método Registro de eliminación si éste se activa. En el ejemplo,
Curso de MS-DOS Capítulo 15 Página 7 de 16
las unidades C: y E:
La sección [sentry.files] afecta únicamente al método Centinela. Contiene los ficheros protegidos por el Centinela cuando esté
activo. En este caso se protegen todos los ficheros (*.*) menos los ficheros con extensiones TMP, VM?, WOA, SWP, SPL, RMG,
IMG, THM y DOV.
La sección [defaults] especifica el método de Undelete definido. Contiene dos opciones. La opción "d.sentry" hace referencia al
método Centinela y la opción "d.tracker" al Registro. "TRUE" significa activado y "FALSE" desactivado. Esta sección varía
automáticamente según se cargue Undelete con el parámetro /S (Centinela) o /T (Registro).
Si desea aumentar o disminuir el número de ficheros guardados en el fichero PCTRACKR.DEL (método Registro) siga este
procedimiento:
C:\>undelete /unload
C:\>deltree \pctrackr.del
3. Creamos un nuevo PCTRACKR.DEL para almacenar datos de n ficheros. n debe ser un número entre 1 y 999. El tamaño de
PCTRACKR.DEL se obtiene dividiendo n entre 5,5. Sintaxis:
UNDELETE /T-n
C:\>undelete /t-500
Desinstalación
Para desinstalar el Registro, quitamos la línea correspondiente del AUTOEXEC.BAT y reiniciamos el ordenador. Luego borramos el
fichero PCTRACKR.DEL
C:\>deltree \pctrackr.del
Para desistalar el Centinela, borramos la línea correspondiente del AUTOEXEC.BAT y reiniciamos el ordenador. Seguidamente
eliminamos el directorio SENTRY.
C:\>undelete /purge
Nota: Si usa el método Estándar, el primer carácter del nombre de un fichero borrado se pierde. Por tanto, Undelete lo
solicita al restaurarlo.
Para recuperar todos los ficheros ejecutamos Undelete sin parámetros. Si deseamos recuperar un fichero o un grupo de ellos, se lo
introducimos como parámetro. El modificador /ALL restaura todos los ficheros especificados sin pedir confirmación.
Aplicaciones:
D:\VARIOS>undelete /list
RESTABLECER - Una protección contra eliminación
Copyright (C) 1987-1993 Central Point Software, Inc.
Reservados todos los derechos.
Directorio: D:\VARIOS
Especificación de archivos: *.*
(como no existe ni SENTRY ni PCRACKR.DEL, Undelete usa el método Estándar. Se observa como se ha perdido el
primer carácter del nombre de cada fichero)
D:\VARIOS>undelete
z Recuperar todos los ficheros del directorio actual sin pedir confirmación.
D:\VARIOS>undelete /all
D:\VARIOS>undelete *.txt
También podemos obligar a Undelete a utilizar un método concreto. Utilizamos los siguientes modificadores:
El siguiente ejemplo muestra los ficheros recuperables con el método Estándar existiendo el Registro de eliminación.
Directorio: D:\VARIOS
Especificación de archivos: *.*
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
4 (final)
Grupo Valor
0 (reservado)
1 (reservado)
2 (libre)
3 (libre)
4 (final)
En realidad, los grupos 2 y 3 siguen almacenando el fichero. Sin embargo al estar marcados como libres, serán usados en la primera
operación de escritura.
Método estándar
Undelete reconoce los ficheros borrados buscando las entradas del directorio comenzadas por el carácter ASCII 229. Para recuperar
el fichero SONETO.TXT del ejemplo anterior, Undelete haría lo siguiente:
Sabe que el grupo inicial es el 2. Además conoce el número de grupos usados (632 / 512 = 1,2 » 2 grupos). Por tanto sólo le resta
recuperar los dos primeros grupos libres comenzando en el grupo 2 (grupos 2 y 3). Como el primer carácter del nombre del fichero
se perdió, Undelete lo solicita al usuario. El fichero finalmente ha sido restaurado con éxito.
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
4 (final)
Aunque parezca correcto, este método puede fallar al recuperar ficheros fragmentados. Observe el siguiente ejemplo. Corresponde a
un disco con un sólo fichero (grupos 2 y 4).
Grupo Valor
0 (reservado)
1 (reservado)
2 4
3 (libre)
4 (final)
Curso de MS-DOS Capítulo 15 Página 11 de 16
Grupo Valor
0 (reservado)
1 (reservado)
2 (libre)
3 (libre)
4 (libre)
Leyendo la correspondiente entrada del directorio, Undelete conoce el grupo inicial (el 2) y el número de grupos usados (2). Al
restaurar, asignará equivocadamente los dos primeros grupos libres comenzando por el segundo. La FAT resultante es la siguiente:
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
4 (libre)
Undelete ha asignado los grupos 2 y 3 al fichero en lugar de los grupos 2 y 4 que le corresponden.
Registro de eliminación
El programa Undelete permanece en memoria. Si detecta que algún programa intenta borrar un fichero, Undelete copia previamente
su entrada del directorio y los números de grupos ocupados, en el fichero PCTRACKR.DEL.
En el último ejemplo, Undelete conoce leyendo PCTRACKR.DEL, que el fichero ocupa los grupos 2 y 4. Además ha almacenado el
nombre del fichero borrado, no se pedirá el primer carácter al usuario. Por tanto, el Registro es capaz de restaurar con éxito ficheros
fragmentados siempre y cuando no se haya escrito nueva información en el disco.
Centinela de eliminación
Garantiza la recuperación total de los últimos ficheros aún escribiendo nueva información en el disco.
Undelete permanece residente en memoria analizando todas las acciones del sistema. Si descubre un intento de borrar un fichero,
Undelete entra en funcionamiento moviendo el fichero en cuestión al directorio SENTRY. Fíjese lo sencillo que resulta mover un
fichero: se elimina la entrada del directorio original y se crea en el directorio SENTRY: la FAT permanece intacta.
Con objeto de evitar dos ficheros llamados igual en SENTRY, Undelete codifica el nombre de cada uno. Al restaurar un fichero
borrado, le devuelve su nombre original. Para controlar donde estaba cada fichero y cuál es el verdadero nombre de cada uno, el
directorio SENTRY posee un fichero con atributo de sistema llamado CONTROL.FIL.
Curso de MS-DOS Capítulo 15 Página 12 de 16
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
... ...
10 (final)
11 (final)
Directorio raíz:
Directorio SENTRY:
Grupo Valor
0 (reservado)
1 (reservado)
2 3
3 (final)
... ...
10 (final)
11 (final)
Directorio raíz:
Directorio SENTRY:
Parámetro Descripción
/V:etiqueta Especifica la etiqueta del disco.
/Q Realiza un formato rápido.
/U Realiza un formato incondicional.
/F:tamaño Especifica el tipo de disquete al que se dará formato (tales como 360, 720, 1.2, 1.44 ó 2.88).
/S Crea un disquete de arranque. Para ello copia los ficheros IO.SYS, MSDOS.SYS y COMMAND.COM después de
formatear.
/C Verifica los grupos actualmente marcados como defectuosos.
z Formato seguro. Sólo es válido para disquetes formateados previamente. Se puede recuperar posteriormente con la orden
Unformat.
{ Normal. Si no se especifica el tipo de disquete, se asume el más alto permitido por la disquetera. Guarda el área del
sistema (sector arranque, FAT y directorio raíz) en espacio libre del área de datos. Luego crea un nuevo área del sistema
y verifica el área de datos buscando grupos defectuosos. No sobrescribe el área de datos. Si encuentra un grupo dañado,
lo marca en la FAT para evitarlo en futuras operaciones.
{ Rápido. No es necesario especificar el tipo de disquete. Guarda el área del sistema en espacio libre del área de datos.
Finalmente crea un nuevo área de sistema.
z Format incondicional. No se puede restablecer un disquete formateado de este modo.
{ Normal. Se utiliza en disquetes nuevos para poder trabajar con ellos. En disquetes formateados, se pierde
definitivamente su contenido. Crea toda la estructura lógica del disco (sector de arranque, FAT, directorio raíz y área de
datos). Además verifica el disco buscando sectores defectuosos.
{ Rápido. Sólo se admite en disquetes ya formateados. Crea un nuevo área del sistema y finaliza. Es muy rápido.
Aplicaciones:
C:\>format a: /u
(para formatear un disquete nuevo se puede usar o no el modificador /U. Sin embargo, este modificador acelera el
proceso)
C:\>format a: /f:720 /u
C:\>format a: /f:360
C:\>format a:
C:\>format a: /u /q
C:\>format a: /q
z Dar un formato seguro a un disco duro formateado o un formato incondicional si el disco duro no tiene formato.
C:\>format d:
15-7 UNFORMAT
Restaura el área del sistema de un disco formateado con Format. Si utiliza otro programa para formatear diferente a Format, no
podrá recuperar el disco. Solamente se garantiza la recuperación total de los datos si el disco recibió un formato seguro normal o
rápido (no se utilizó /U) y si no se ha escrito nueva información en el disco desde el formateo.
Uso de Unformat
Escriba UNFORMAT seguido de la unidad que quiere restaurar. Unformat mostrará mensajes de advertencia y pedirá confirmación
antes de continuar.
Nota: Si está restaurando un disquete, puede que Unformat _incorrectamente_ haga referencia a su disco duro. No se
alarme, es problema de la traducción al español. Si especificó una unidad de disco flexible, el disco duro no se tocará.
Unformat buscará el área del sistema guardada por Format en el área de datos. Si lo encuentra muestra la fecha y hora del último uso
de Format.
Si la fecha es correcta, continuamos. Unformat restaurará el área del sistema: ¡el disco ha sido recuperado!
D:\>dir
D:\>format d:
D:\>dir
No se encontró el archivo
D:\>unformat d:
!! ADVERTENCIA !! !! ADVERTENCIA !!
¡Este comando debe ser utilizado únicamente para la recuperación del uso
inadvertido de los comandos FORMAT o RECOVER. Un uso diferente del comando
UNFORMAT puede causar la pérdida de datos! Archivos modificados desde la
creación de imagen de archivo MIRROR se perderan.
Está seguro que desea actualizar área del sistema de su unidad D (S/N)? s
D:\>dir
D:\>
Suponga por un momento que por alguna razón se formatea accidentalmente su disco duro. Su ordenador posiblemente no arranque
y si lo hace el disco estará vacío. Necesita el fichero UNFORMAT.COM y no lo tiene. Para prevenir esta situación, vamos a crear
ahora mismo un disquete de arranque con el fichero UNFORMAT.COM.
C:\>format a: /s
Funcionamiento de Unformat
1. Se busca espacio en el área de datos para guardar el área del sistema (sector de arranque, FAT y directorio raíz)
2. Se copia el área del sistema del disco al espacio libre encontrado (no se refleja en la FAT).
3. Se escribe en el último sector del disco el sector donde comienza la imagen del área del sistema. Además, se graba la fecha y
hora.
Al escribir nueva información en un disquete recién formateado, posiblemente se sobrescriba la imagen del área del sistema. ¿Por
qué? porque los grupos ocupados por dicha imagen están marcados como libres en la FAT.
Capítulo 16
Msbackup
16-1 Introducción
Realizar copias de seguridad de los datos del disco duro es una tarea imprescindible que debe convertirse en habitual.
Las copias de seguridad permiten conservar en dos lugares diferentes aquellos datos de vital importancia. Desde un fallo
de hardware hasta un uso inadecuado existe un abanico de situaciones que pueden desembocar en pérdidas de datos. Las
estadísticas afirman que sería necesario un promedio de 2000 horas de trabajo para reconstruir la mayoría de discos
duros. En cambio, si tiene un copia de seguridad reciente sólo tardará unos minutos.
Msbackup permite realizar y restaurar copias de seguridad del disco duro. En este capítulo no sólo aprenderá a manejar
el programa, sino también a elegir el método de copia adecuado en cada situación.
z Los ficheros de programas son creados en el disco duro al instalar una determinada aplicación. Generalmente
cada aplicación reside en uno o varios directorios claramente diferenciados de los demás.
z Los ficheros de usuario son creados por el usuario cuando trabaja en una aplicación. En la mayor parte de los
programas de aplicación se puede definir el directorio que almacenará estos ficheros.
De los primeros ficheros no es necesario hacer copias de seguridad. Si se estropea un programa del disco duro, lo
volvemos a restaurar de los disquetes originales. Sin embargo, conviene duplicar estos disquetes con la orden Diskcopy
y así evitar riesgos innecesarios.
Las copias de seguridad se realizarán únicamente de los ficheros de usuario. Para facilitar la molesta labor de separar los
ficheros de ambos tipos conviene introducirlos todos en un mismo directorio. Se puede crear un subdirectorio del raíz
llamado TRABAJOS. En este directorio se crean nuevos subdirectorios para contener los ficheros de usuario de cada
aplicación. El siguiente directorio TRABAJOS corresponde a un persona que trabaja con WordPerfect, CorelDraw y
Dbase.
Curso de MS-DOS Capítulo 16 Página 2 de 23
En primer lugar se crea el árbol de directorios y luego se indica a cada programa dónde debe guardar sus ficheros. De
esta forma se separan ambos tipos. Al realizar una copia de seguridad, sólo será necesario copiar el árbol de directorios
TRABAJOS.
Si utiliza aplicaciones basadas en Windows 3.1 ó 3.11 puede cambiar el directorio de trabajo de la siguiente forma:
z Completa. Copia todos los ficheros elegidos del disco duro en disquetes. Todos los datos importantes se
almacenan en un único grupo de copias.
z Progresiva. Copia únicamente los ficheros nuevos o modificados desde la última copia de seguridad completa o
progresiva. De esta forma la ejecución de la copia es más rápida. Sin embargo, deben guardarse todos los grupos
de copias efectuados desde la copia completa.
z Diferencial. Copia únicamente los ficheros nuevos o modificados desde la última copia de seguridad completa.
Aunque el tiempo puede ser superior al invertido en copias progresivas, sólo deben almacenarse dos grupos de
copias: la completa y la última diferencial.
Si sus datos no ocupan mucho espacio de disco, su elección es clara: realice copias de seguridad completas
regularmente. Si modifica los datos a diario, las copias deberán efectuarse con intervalo de un día o dos. Ejemplo:
Todos los datos del disco duro se almacenan en la última copia completa.
Curso de MS-DOS Capítulo 16 Página 4 de 23
Si sus ficheros de usuario ocupan gran cantidad de espacio en disco, es necesario combinar la copia completa con la
progresiva o diferencial.
Si utiliza ficheros diferentes cada día realice copias progresivas después de una completa. Observe el siguiente ejemplo:
Como veremos, al realizar ciclos de copias de seguridad existe un fichero llamado catálogo maestro que coordina todos
los grupos de copias. Si el Sábado nos vemos obligados a recuperar un determinado fichero, Msbackup basándose en el
catálogo maestro nos pedirá automáticamente el disco que lo contiene: "Introduzca el disco número ... del grupo de
copias ...". Todos los datos del disco duro se reparten entre la copia completa y las progresivas.
Si emplea los mismos ficheros cada día realice una copia completa seguida de copias diferenciales. Ejemplo:
Aunque conviene utilizar varios juegos de disquetes, también es posible crear la copia del Viernes sobre los disquetes
del Miércoles. Todos los datos del disco duro se reparten entre la copia completa y la última diferencial.
Cada vez que realice una copia de seguridad ya sea completa, diferencial o progresiva estará creando un conjunto de uno
o más disquetes llamado grupo de copias. Los disquetes de un grupo de copias tienen un orden concreto comenzando
por el disquete 1. Cada grupo de copias contiene un catálogo.
Curso de MS-DOS Capítulo 16 Página 5 de 23
Catálogo
Por cada grupo de copias se genera un catálogo. El mismo catálogo se graba en dos lugares: en el último disquete del
grupo de copias y en el disco duro. Si perdemos el catálogo del disco duro, es necesario introducir el último disquete
para recuperarlo.
Gracias al catálogo, Msbackup puede restaurar ficheros individuales. Como tiene almacenados el nombre de los ficheros
copiados, podemos seleccionar sólo uno para restaurar. Msbackup lee en el catálogo en qué disquete se encuentra y
después nos pide introducirlo.
El catálogo de cada grupo de copias se diferencia de los demás por un nombre específico. Vamos a analizar el nombre
del catálogo CD50905A.FUL
Carácter Descripción
C Primera letra de unidad de disco duro que se copió
D Última letra de unidad de disco duro que se copió
5 Último dígito del año. El catálogo del ejemplo es del año 1995
09 Mes en que se efectuó la copia
05 Día en que se efectuó la copia
Hace referencia a la primera copia realizada en el día. La letra B se refiere a la segunda copia del día con
A
las mismas especificaciones, C la tercera y así sucesivamente
FUL La extensión indica el tipo de copia. FUL es una copia completa, INC progresiva y DIF diferencial
Curso de MS-DOS Capítulo 16 Página 6 de 23
Fichero de especificaciones
z Tipo de copia.
z Opciones de copia.
De esta forma se simplifica el proceso rutinario de realizar un mismo tipo de copia de seguridad de los mismos ficheros
en el mismo destino y con opciones idénticas. Msbackup soporta hasta 50 ficheros de especificaciones distintos.
Los ficheros de especificaciones se gestionan desde el menú Archivo. Tienen extensión SET.
Si no creamos uno nuevo ni elegimos uno existente, se selecciona de forma automática el fichero de especificaciones
DEFAULT.SET. No hay ningún problema en trabajar habitualmente con este fichero.
Ciclo de copias
Un ciclo de copias es un conjunto de grupos de copias efectuados de manera regular. Un ciclo de copias comienza con
una copia completa e incluye todas las copias progresivas o diferenciales posteriores.
Si el Lunes efectuamos una copia completa, el Miércoles una progresiva y el Viernes otra progresiva; habremos creado
un ciclo de copia de tres días.
Si todos los días de la semana realizamos una copia completa, el ciclo de copia será de un día.
Catálogo maestro
Es útil al trabajar con ciclos de copias superiores a un día. El catálogo maestro engloba todos los catálogos del ciclo de
copias. Adopta el mismo nombre que el fichero de especificaciones usado al realizar la copia pero extensión CAT.
Permite recuperar cualquier fichero del ciclo de copias. Si se realizan varias copias de seguridad de los mismos ficheros,
es posible encontrar varias versiones de uno mismo. Si el Lunes crea el fichero TEXTO.TXT, hace una copia completa y
el Martes modifica el fichero y realiza una progresiva; habrá generado dos versiones de TEXTO.TXT
Si deseamos restaurar el fichero TEXTO.TXT, el catálogo maestro ofrecerá la versión más reciente (la del Martes). Sin
embargo, se puede optar por una versión anterior (la del Lunes).
C:\>msbackup
Pulsamos Enter para comenzar la configuración de Msbackup para nuestro ordenador. El programa se ejecutará de
forma automática tomando las selecciones por el usuario. Lea atentamente los cuadros de diálogos mostrados en
pantalla.
Las configuraciones de pantalla y ratón ya se han seleccionado. Pulse Enter para continuar.
Curso de MS-DOS Capítulo 16 Página 8 de 23
Para realizar esta prueba retire los disquetes de las unidades de disco y presione la tecla Enter.
Se acaban de configurar las unidades de disquete de nuestro sistema. Pulse Enter para proseguir. A continuación se
realizan las pruebas de velocidad del procesador y de lectura del disco duro:
Curso de MS-DOS Capítulo 16 Página 9 de 23
La pantalla anterior pide confirmación antes de efectuar la Prueba de compatibilidad. Si dispone de dos disquetes
iguales _formateados o no_, pulse Enter. Si la prueba resulta correcta significa que su sistema está preparado para
realizar copias de seguridad fiables. También puede ignorar la prueba y realizarla en otro momento. Tanto si realiza la
prueba como si no, aparecerá la siguiente pantalla:
Pulse Enter para hacer permanente la configuración establecida. Msbackup ha quedado configurado para realizar copias
de seguridad fiables. La siguiente pantalla es el menú principal de Msbackup:
La siguiente imagen muestra el cuadro "Copiar". Para desplazarse por los elementos del cuadro puede utilizar las teclas
Tab o Mays+Tab (o el ratón). Aunque en la figura no se aprecia, cada elemento posee una letra resaltada. Podemos
acceder a un elemento pulsando Alt+LetraResaltada. Las teclas válidas son las siguientes:
Teclas Elemento
Alt+E Archivo de especificaciones.
Alt+I Cuadro Copiar de:
Alt+P Copiar en:
Alt+L Seleccionar archivos...
Alt+T Tipo de copia.
Alt+O Opciones...
Alt+N Iniciar copiar.
Esc Cancelar.
Curso de MS-DOS Capítulo 16 Página 11 de 23
z Para crear un nuevo fichero, seleccionamos el comando "Guardar como..." del menú Archivo. El nuevo fichero
contendrá la configuración actual.
En este caso el directorio donde se guardará el fichero es C:\MSBACKUP, para seleccionar un nuevo
Curso de MS-DOS Capítulo 16 Página 12 de 23
directorio pulsamos Alt+D. Con la tecla Espacio nos desplazamos por el árbol de directorios del disco duro
(en el ejemplo hay dos discos duros, el C y el D).
Pulsamos Alt+N e introducimos el nombre del nuevo fichero de especificaciones. Si escribimos uno
existente se sobrescribirá. El elemento "Descripción:" permite introducir un breve texto que identifique al
fichero.
z Para abrir un fichero existente seleccionamos el elemento "Archivo de especificaciones:" en el cuadro Copiar:
Con las Flechas nos movemos por los ficheros disponibles. Pulsamos Espacio para seleccionar y Enter para aceptar la
selección.. Si el fichero de especificaciones no se encuentra en la lista utilice el comando "Abrir..." del menú "Archivo".
Con este comando se puede abrir un fichero de especificaciones ubicado en cualquier directorio del disco duro.
Desde el cuadro "Copiar" pulsamos Alt+I para acceder al cuadro "Copiar de:". Este cuadro contiene una lista de las
unidades de disco duro o unidades de red disponibles en nuestro sistema. Para elegir todos los ficheros de una unidad,
pulse Espacio sobre ella (otra vez Espacio para desmarcarla). Para elegir algunos ficheros de la unidad resaltada, pulse
Enter. Se muestra el cuadro "Seleccionar archivos a copiar":
Curso de MS-DOS Capítulo 16 Página 13 de 23
Para desplazarse por este cuadro utilice el Tabulador. En cada pulsación de esta tecla accedemos a una zona del cuadro
según este orden: selección de ficheros, botones, selección de unidad y selección de directorios. Dentro de cada zona
nos desplazamos mediante las Flechas.
En la zona de directorios elegimos los que serán copiados. Si pulsamos Espacio se selecciona el directorio completo.
Los directorios sin ficheros no pueden seleccionarse. Para seleccionar sólo unos ficheros de un directorio nos situamos
sobre él y pulsamos Tabulador. Con la tecla Espacio vamos seleccionado los ficheros para copiar del directorio.
Con el ratón se pulsa doble clic sobre un directorio o fichero para marcarlo. Además se pueden seleccionar árboles de
directorios de manera sencilla: Se hace doble clic en el primer directorio y se arrastra hasta el último. Todos quedarán
seleccionados.
Fíjese en el elemento "Archivos selec.:". Muestra el número de ficheros seleccionados, así como el total de Kilobytes
ocupados.
Ayúdese con las Flechas y con la tecla Espacio para seleccionar el destino de la copia. El ordenador del ejemplo posee
dos disqueteras de 3½ HD. Msbackup permite introducir disquetes de 3½ HD (1.44 Mb) o de 3½ DD (720 K). La opción
tercera y la sexta se utilizan para efectuar la copia en dos unidades iguales: el primer disquetes lo copia en la unidad A:,
el segundo en la unidad B:, el tercero en la A: y así hasta terminar la copia.
También podemos grabar una copia de seguridad en una unidad de disco duro o en cualquier otra reconocida por ms-
dos. Para ello seleccionamos la opción "Unidad y ruta MS-DOS". En este caso al regresar al cuadro "Copiar" se
mostrará lo siguiente:
Nos está pidiendo el directorio donde se efectuará la copia de seguridad. En el directorio introducido, Msbackup creará
otro llamado como el fichero de especificaciones; dentro de éste último, otro directorio llamado como el catálogo y
dentro de éste creará finalmente la copia de seguridad.
Desde el cuadro "Copiar" pulsamos Alt+T para acceder al cuadro "Tipo de copia":
Curso de MS-DOS Capítulo 16 Página 15 de 23
Con las Flechas y la tecla Espacio, seleccionamos el tipo de copia deseada. Para aceptar pulsamos Enter.
Desde el cuadro "Copiar" pulsamos Alt+O para acceder a las opciones de la copia de seguridad. Se muestra el cuadro
"Opciones de Copiar"
Verificar datos (leer y comparar) - Después de escribir los datos en el disquete los lee para comprobar que fueron
escritos correctamente. Aunque el proceso de copia es más lento, se recomienda activar esta opción para garantizar la
fiabilidad de la copia.
Comprimir datos - Realiza una serie de operaciones para copiar más datos en menos espacio. Como el número de
disquetes es menor con esta opción activada, la copia se efectúa con mayor rapidez. Si desea traspasar datos entre las
versiones de ms-dos 6.0 ó 6.20 y la versión 6.22 debe saber que los formatos de compresión son incompatibles. El
programa Msbackup proporcionado con la versión 6.22 no reconoce copias comprimidas realizadas con la versión 6.0 ó
6.2 y viceversa. En estas ocasiones debe desactivar esta casilla de verificación. Una copia sin comprimir es compatible
con todas las versiones.
Proteger grupos de copias con contraseña - Evita la restauración de copias de seguridad a usuarios no autorizados.
Antes de crear el grupo de copias, se pedirá un contraseña. La contraseña distingue entre mayúsculas y minúsculas.
Curso de MS-DOS Capítulo 16 Página 16 de 23
Al intentar restaurar _más concretamente, al cagar el catálogo_ un grupo de copias protegidas, Msbackup pedirá la
contraseña:
Aviso de sobrescritura de disquetes usados - Si está activada esta opción, Msbackup informará si se introduce un
disquete usado como destino de la copia de seguridad. En estos casos, Msbackup permite introducir otro disquete,
sobrescribir el actual o abandonar la copia.
Dar formato a los disquetes siempre - Con esta opción desactivada, Msbackup dará formato sólo a aquellos disquetes
que lo necesiten. Con ella activada, se formatean todos los disquetes utilizados en la copia. Se recomienda desactivarla.
Usar corrección de errores en disquetes - Crea un código de corrección de errores en los disquetes usados. Aunque
ocupa un 10% de la capacidad total del disco, permite recuperar posibles errores en los disquete. Si está desactivada la
copia puede resultar inservible. Es muy recomendable activar esta opción.
Conservar catálogos antiguos - Si está desactivada, Msbackup borra los catálogos usados en el anterior ciclo de copias
del disco duro. Si se activa, los catálogos se conservan. Recuerde que el catálogo se graba también en el último disquete
de cada grupo de copias. Para evitar catálogos innecesarios en el disco duro, se recomienda desactivarla.
Una vez realizadas todas las selecciones anteriores, es momento de empezar la copia de seguridad. El cuadro "Copiar"
indica los disquetes que se usarían sin compresión de datos. Prepare los disquetes necesarios y etiquete cada uno con el
nombre del catálogo y número de orden. Msbackup pedirá los disquetes de forma automática. Cuando aparezca el
mensaje " [ Inserte disquete x ] ", podemos sacar el disquete actual e introducir el siguiente _aunque la luz de la
disquetera permanezca encendida_. No es necesario pulsar ninguna tecla para indicar al ordenador la inserción del nuevo
disquete. En la siguiente pantalla, Msbackup muestra cómo evoluciona la copia:
Puede desplazarse por los elementos del cuadro con las teclas Tab o Mays+Tab o bien, utilizando las siguientes
secuencias de teclas:
Teclas Elemento
Alt+U Catalogo de grupo de copias.
Alt+G Catálogo...
Alt+E Restaurar de:
Alt+R Restaurar en:
Alt+H Cuadro "Restaurar Archivos".
Alt+L Seleccionar archivos...
Alt+O Opciones...
Alt+I Iniciar Restaurar.
Elegir el catálogo
Antes de restaurar una copia de seguridad, es necesario cargar el catálogo correspondiente. Para restaurar un único
grupo de copias, debemos seleccionar su catálogo asociado. En cambio, para restaurar todo un ciclo de copias, es
necesario cargar el catálogo maestro. Recuerde que un catálogo maestro tiene por nombre el del fichero de
especificaciones utilizado y por extensión, CAT.
Curso de MS-DOS Capítulo 16 Página 19 de 23
Para recuperar un catalogo almacenado en el disco duro, pulsamos Alt+U desde el cuadro "Restaurar". Aparecerá una
lista de los catálogos maestros y catálogos de grupos de copias almacenados en el directorio del programa
_generalmente C:\DOS_. Aunque el catálogo se graba de forma predeterminada en el directorio del programa, también
es posible recuperar un catálogo almacenado en otro directorio. Para ello seleccionamos el botón "Catálogo..." (Alt+G)
desde el cuadro "Restaurar". Se muestra el cuadro "Seleccionar catálogo".
Ahora podemos desplazarnos por el árbol de directorios del disco duro, hasta encontrar el catálogo. Una vez resaltado el
catálogo, elegimos el botón "Cargar".
Si el catálogo del grupo de copias no está en el disco duro, debemos recuperarlo desde los disquetes. Pulsamos el botón
"Recuperar..." (Alt+R) desde el cuadro "Seleccionar catálogo":
Si optamos por una unidad de disquete, Msbackup nos pedirá introducir el último disquete del grupo de copias.
Si nuestro caso es restaurar un catálogo de otra unidad, seleccionamos la opción "Unidad y ruta MS-DOS". Pulsamos
Tab y escribimos la localización de la copia de seguridad. Para recuperar la copia del ejemplo siguiente se debe escribir
"C:\MSBACKUP\DEFAULT\CC50905A.FUL".
Curso de MS-DOS Capítulo 16 Página 20 de 23
Tanto si recuperamos el catálogo de una unidad de disquete o de otra unidad, éste se copiará en el directorio del
programa y quedará resaltado en el cuadro "Seleccionar catálogo". Pulsamos sobre "Cargar" (Enter).
El botón "Reconstruir..." del cuadro "Seleccionar catálogo" se utiliza cuando se han perdido ambas copias del
catálogo: la del disco duro y la almacenada en el destino de la copia. Msbackup pide cada uno de los disquetes del grupo
de copias hasta reconstruir el catálogo.
El botón "Eliminar" del cuadro "Seleccionar catálogo" borra del disco duro el catálogo resaltado.
Si la unidad que contiene la copia de seguridad está mal seleccionada, pulsamos Alt+E para elegir el tipo de disco
adecuado.
Accedemos al cuadro "Restaurar archivos" (Alt+H) para seleccionar que ficheros serán restaurados. Pulsando Espacio
sobre una unidad, se seleccionan todos sus ficheros (otra vez Espacio se deseleccionan). Para seleccionar sólo algunos
ficheros de la unidad resaltada se pulsa Enter. Aparece el cuadro "Seleccionar archivos a restaurar":
Para desplazarse por este cuadro utilice el Tabulador. En cada pulsación de esta tecla accedemos a una zona del cuadro
según este orden: selección de ficheros, botones, selección de unidad y selección de directorios. Dentro de cada zona
nos desplazamos con las Flechas.
En la zona de directorios elegimos los directorios que serán restaurados. Si pulsamos Espacio se selecciona el directorio
Curso de MS-DOS Capítulo 16 Página 21 de 23
completo. Los directorios sin ficheros no pueden seleccionarse. Para restaurar sólo unos ficheros de un directorio nos
situamos sobre él y pulsamos Tabulador. Con la tecla Espacio vamos seleccionado los ficheros.
En la ilustración anterior, observe el signo "+" colocado en las entradas del directorio MSB01.PCX y MSB02.PCX. Esto
significa que hay varias versiones del mismo fichero en dos o más grupos del ciclo de copias.
Aunque de forma automática se selecciona la versión más moderna, se puede cambiar la versión de un fichero resaltado
pulsando el botón "Versión" (Alt+V):
Pulse el botón "Aceptar" del cuadro "Seleccionar archivos a restaurar" para regresar al cuadro "Restaurar".
Ubicaciones originales - Coloca los ficheros seleccionados en el mismo lugar que tenían al copiarlos.
Otras unidades - Coloca los ficheros seleccionados en los mismos directorios pero en otra unidad de disco
duro.
Otros directorios - Sitúa los ficheros seleccionados en otros directorios diferentes a los originales.
Msbackup pedirá el nuevo nombre para cada uno de los directorios.
Curso de MS-DOS Capítulo 16 Página 22 de 23
Verificar al restaurar (leer y comparar) - Comprueba que los datos se escriban correctamente en el disco
duro. Se recomienda desactivarla para aumentar la velocidad. Si algún fichero se escribe incorrectamente, se
puede recuperar de nuevo desde los disquetes de la copia de seguridad.
Confirmar - Muestra avisos en pantalla durante el proceso de restauración antes de crear un directorio, un
fichero o sobrescribir un fichero.
Restaurar directorios vacíos - Si está desactivada, se copian en el disco duro destino únicamente los
directorios con ficheros. Si se activa, se crea todo el árbol de directorios del disco duro origen en el destino.
Si algún directorio no se había copiado, se crea vacío. Salvo casos muy concretos, es muy recomendable
desactivarla.
Iniciar la restauración
Una vez realizadas todas las selecciones anteriores, es el momento de comenzar la restauración. Msbackup pedirá
ordenadamente los disquetes necesarios. La siguiente pantalla muestra el proceso de la restauración:
Curso de MS-DOS Capítulo 16 Página 23 de 23
Capítulo 17
Los virus informáticos
z Ha sido diseñado por una persona. Por tanto, un virus no nace de la nada: ha sido programado con antelación.
z Se transmite por las mismas vías que el software normal: discos, vía módem o a través de una red de ordenadores.
z No puede estropear los componentes físicos del ordenador, el hardware. Solamente puede estropear los datos
grabados en los discos, no al disco como tal. Un virus se elimina con un programa denominado anti-virus. En el
mejor de los casos se puede eliminar el virus sin afectar a los datos. De lo contrario, cuando no se pueda separar el
virus de nuestros datos, habrá que sacrificar nuestros trabajos para eliminar el virus.
z Deseo de producir un daño a una entidad o a una persona específica. Por ejemplo, una persona puede vengarse de
aquella empresa que le despide introduciendo un virus en sus sistemas.
z Intereses económicos: crear el virus, extender la infección a empresas importantes y luego, venderles el anti-virus
que lo elimina.
En ambos tipos, el objetivo principal es reproducirse de la forma más rápida posible sin que se note (estado de
latencia). Cuando el virus considera que se ha extendido lo suficiente pasa al estado de activación. Los efectos del
programa en este periodo son tan variados como alcance la imaginación de los autores: unos destruyen datos
difícilmente recuperables y otros se limitan a mostrar mensajes inofensivos en la pantalla.
Estos virus se instalan en memoria cada vez que arrancamos con el disco que lo contiene. Si un virus infecta el sector de
arranque de un disco duro, cada vez que arranquemos el ordenador (con el disco duro) el virus se acomodará en la
memoria, actuando como filtro entre el sistema operativo y nosotros.
En esta ventajosa posición, el virus podría empezar a destruir datos, pero es poco probable. Si lo hiciera, el usuario se
daría cuenta y pondría remedio: el principal objetivo del virus no se alcanzaría. Lo más normal es que busque nuevas
víctimas antes de pasar al estado de activación.
Estos virus suelen interferir los servicios del sistema relacionados con los discos. Cuando se introduce un disquete, el
virus lo detecta, comprueba que esté sin infectar y si se dan las condiciones propicias (por ejemplo, que el disco esté sin
proteger), infecta su sector de arranque.
El virus debe realizar todas estas acciones de forma oculta al usuario. Si éste advirtiera alguna irregularidad en el
funcionamiento del sistema tomaría medidas para eliminar el virus, impidiendo su objetivo principal: la reproducción.
Cuando el virus considere que ha infectado suficientes disquetes, pasará al estado de activación, destruyendo -
generalmente- los datos del disco duro.
Virus de fichero
El código de estos virus se añade o se superpone a un fichero ejecutable (un procesador de textos, el command.com... ) y
entran en funcionamiento únicamente al ejecutar el fichero infectado. Lógicamente, los ficheros están para ser
ejecutados, por lo que tarde o temprano lo cargaremos, entrando en funcionamiento el programa intruso.
Los virus de fichero residentes se cargan en memoria cuando ejecutamos el programa. A partir de este momento, el
virus tratará de infectar otros ficheros ejecutables (COM o EXE). Como la memoria RAM es temporal, al apagar el
ordenador se borrará el virus de la memoria.
Los virus de fichero de acción directa no se cargan en memoria, solamente funcionan el cargarse un fichero infectado.
En estos casos, el virus se añade en alguna posición al fichero sano. Cuando ejecutemos el fichero (ahora infectado),
primero toma el control el virus, actúa y luego da paso al verdadero fichero. En el escaso tiempo que actúa, el virus
deberá intentar infectar todos los ficheros que tenga a su alcance lo más rápidamente posible. Si el usuario observara
demora, el intruso se delataría a sí mismo.
Los virus de fichero de sobrescritura superponen su propio código sobre el del programa sano. Cuando indicamos a ms-
dos que ejecute un fichero con virus de este tipo, el virus se carga en la memoria y muestra en pantalla un mensaje de
Curso de MS-DOS Capítulo 17 Página 3 de 11
error para intentar engañar al usuario. El fichero primitivo ya no existe y por tanto no puede funcionar. Cuando
observamos que cada vez menos programas arrancan, es señal inequívoca de un desastre, pero quizás sea ya demasiado
tarde para poner remedio.
z Realizar copias de seguridad de nuestros trabajos en el disco duro de forma periódica. Los programas deberíamos
tenerlos en disquetes, por consiguiente sólo tenemos que preocuparnos de los datos fruto de nuestro trabajo. ms-
dos posee una inmejorable herramienta para realizar copias de seguridad: Msbackup.
z Proteger todos los disquetes contra escritura. Una disquetera no puede escribir en un disquete protegido. Ningún
programa, virus incluidos, es capaz de grabar información en un disquete protegido: la disquetera posee unos
mecanismos físicos que lo impiden.
z Si estamos conectados a un servicio electrónico (como Compuserve o Microsoft Network) o a una red de
ordenadores (Internet), guardar las máximas precauciones: utilizar un anti-virus transparente al usuario, pero que
nos protega de virus constantemente. El ms-dos posee un anti-virus de este tipo: Vsafe.
z Utilizar un anti-virus de forma regular en el disco duro (Msav). La mayoría de los virus destruyen la estructura del
disco. Podemos utilizar el programa Chkdsk o Scandisk para comprobar que el disco duro está en perfectas
condiciones. Si uno de estos programas encuentra infinitos errores en el disco, no los arregle, ataque primero la
raíz del problema -el virus-. Y una vez saneado el disco, intente utilizar estas herramientas por si consiguen
recuperar algo.
z El ordenador trabaja más lento. Los virus para realizar su trabajo necesitan analizar cada acción del sistema
operativo y seleccionar en cuáles puede actuar y en cuáles no.
z Aumenta el tamaño de los ficheros. Los virus de fichero (menos los de sobrescritura) necesitan añadir su código al
del propio programa.
z La fecha o la hora del fichero ha variado. Algunos virus modifican estos parámetros para conocer si un fichero ha
Curso de MS-DOS Capítulo 17 Página 4 de 11
sido infectado por ellos mismos y evitar un doble contagio. Suelen utilizar códigos especiales: segundos por
encima de sesenta, años por encima del 2100, etc...
z La memoria parece menor al utilizar la orden Mem. Los virus engañan al sistema operativo para impedir ser
detectados en memoria. Si tenemos 640K de memoria convencional, una cifra inferior puede indicar presencia de
virus.
z Algunos programas no funcionan. Puede ocurrir si el virus ha sobrescrito la información de los ficheros
ejecutables.
z Hay menos espacio libre en disco que antes. El virus se ha instalado en el disco ocupando espacio.
Alguno o varios de los siguientes síntomas aparecen cuando el virus está ejerciendo su acción destructora:
z En algunos ficheros aparece información de otros. El virus ha modificado la FAT. Los programas Chkdsk o
Scandisk detectan estas anomalías.
z Errores de lectura en el disco. Suelen aparecer cuando ha sido dañada la estructura del disco. El sistema operativo
no entiende la información del disco y muestra errores.
z El sistema no arranca. El virus ha estropeado el sector de arranque del disco duro, sólo podemos arrancar con un
disquete en la unidad A:. La información puede estar disponible todavía o quizás no y el disco duro está
totalmente inaccesible.
El proceso seguido por los programas anti-virus suele ser el siguiente: analizar la memoria, el sector de arranque y
luego, cada uno de los ficheros ejecutables del disco. Para buscar los virus de fichero, acostumbran a analizar cada
fichero buscando unas cadenas de caracteres específicas que identifican a cada virus. El problema se complica cuando
los virus utilizan técnicas de polimorfismo, es decir, ir adoptando formas diferentes en cada infección.
Los anti-virus disponen de múltiples formas de detección. Sin embargo, se pueden agrupar en dos grandes grupos: a)
técnicas para detectar los virus conocidos y b) técnicas inteligentes que detectan virus desconocidos. Lógicamente, en
estos casos, el programa detectará un posible virus pero no podrá ni asegurarlo ni decirnos su nombre. No todos los anti-
virus son capaces de detectar virus desconocidos.
Es también muy importante que los anti-virus no sólo detecten correctamente el nombre del virus sino que la limpieza
sea la mejor posible. Esta claro que siempre se puede eliminar un virus si formateamos el disco infectado a bajo nivel.
Curso de MS-DOS Capítulo 17 Página 5 de 11
Por esta razón sólo se justifica un programa anti-virus si es capaz de apartar los datos válidos del intruso y eliminar a
éste último. Pero ni el mejor anti-virus es capaz de detectarlos a todos, ni todos los virus se pueden limpiar sin afectar a
los datos.
Otro grupo de anti-virus son los residentes en memoria. Se suelen cargar en la memoria al arrancar el ordenador y
revisan algunas acciones del sistema operativo para comprobar que no hay movimiento de virus. Poseen la ventaja de
estar siempre alerta y la desventaja de ocupar memoria.
Recuerde, en todo momento, que la mejor medida para evitar la pérdida de datos es realizar de forma periódica copias de
seguridad.
A partir de la versión 6.0, ms-dos lleva incorporadas dos herramientas anti-virus llamadas Msav (Microsoft anti-virus) y
Vsafe.
z Msav detecta y limpia virus en la memoria, sector de arranque del disco y ficheros del disco.
z Vsafe es un anti-virus residente en memoria que, entre otras funciones, nos da mensajes de aviso si se intenta
formatear el disco duro o si se va a modificar el sector de arranque del disco duro. Si Vsafe detecta algún virus,
hay que utilizar Msav para limpiarlo.
17-7 MSAV
Para detectar la presencia de virus en un disco escribimos MSAV a continuación del símbolo del sistema. Aparecerá un
interface gráfico basado en menús. En todo momento puede pulsar F1 para acceder a una completa ayuda sensible al
contexto.
Nota: Si desea que MSAV revise la memoria y el disco cada vez que arranca el ordenador, debe introducir
la línea MSAV /P al final del AUTOEXEC.BAT. Si utiliza unidades de red, agregue además el parámetro /L
para limitar el examen a las unidades locales.
Curso de MS-DOS Capítulo 17 Página 6 de 11
Después de cargar el programa, aparece el llamado Menú rápido que posee 5 botones con diversas funciones. Para
realizar un chequeo de un disco, primero elegimos la unidad (F2), luego establecemos las opciones (F8) y
posteriormente elegimos entre detectar simplemente (F4) o detectar y limpiar (F5). Para salir pulsamos F3.
Observe la última línea de la pantalla que contiene un esquema del cometido de cada tecla de función. Nos damos cuenta
que todas las opciones del menú rápido se encuentran representadas también mediante una tecla de función. En estos
casos podemos elegir el botón oportuno con las teclas del cursor o pulsar la tecla de función asociada.
Ayuda (F1) Ofrece información de ayuda. Al salir de la ayuda regresamos al mismo punto desde donde la
pedimos. Cuando tenga dudas sobre lo que está haciendo en ese momento, pulse F1 y aparecerá una ayuda
específica. Con las teclas de función puede acceder a un índice de contenidos y a un glosario de términos,
entre otras informaciones de ayuda. Pulse F3 o Esc para salir de la ayuda.
Seleccionar nueva unidad (F2) En la pantalla se muestra la unidad para explorar. Para cambiarla, pulse F2
o seleccione el tercer botón.
Salir (F3) Termina la ejecución de Msav. Aparece una pantalla de despedida. Si activamos la casilla
"Guardar configuración", se graban las opciones elegidas para la siguiente vez.
Borrar (F7) Borra los ficheros con los totales de verificación creados por Msav. Estos ficheros los utiliza
el anti-virus para guardar algunos datos de cada fichero ejecutable (tamaño, atributos, fecha...) y comprobar
si estos datos han variado. Estos ficheros llamados CHKLIST.MS se crean en todos los directorios del
disco.
Opciones (F8) Establece las opciones para la detección de virus. Cada una de las opciones se explica más
Curso de MS-DOS Capítulo 17 Página 7 de 11
abajo.
Lista (F9) Visualizar la lista de todos los virus conocidos por Msav. Si tenemos interés en un virus
determinado podemos seleccionarlo para obtener información del virus. Esta información nos dice el tipo
del virus, sus características y efectos secundarios. Al final de la lista se encuentra el total de virus
detectados por Msav.
Opciones de Msav
Si pulsamos F8 o seleccionamos el botón "Opciones" del Menú rápido accedemos a un cuadro de diálogo denominado
"Definición de opciones":
Verificar integridad Si está activada verifica la integridad de cada fichero, es decir, comprueba que no
haya ninguna modificación desde la última ejecución de Msav. Si está activada pueden aparecer falsas
alarmas. Por ejemplo, si cambiamos el fichero CONFIG.SYS, Msav lo detecta y nos avisa. Si al explorar el
disco, Msav muestra cambios en un fichero que nosotros no hemos variado, puede ser síntoma de virus.
Utiliza los ficheros CHKLIST.MS de cada directorio. Es recomendable tenerla activada.
Crear nuevos totales de verificación Si está activada, se actualizan los ficheros CHKLIST.MS de cada
directorio con los nuevos valores. Se recomienda activarla.
Crear totales en disquete Si están activadas la casilla anterior y ésta, actualiza los ficheros CHKLIST.MS
de los disquetes. Se recomienda tenerla desactivada.
Desactivar sonido de alarma Cuando Msav detecta un posible virus hace sonar un aviso por el altavoz del
ordenador. Para evitar el sonido, activamos esta casilla.
Crear copia Con esta casilla activada, Msav crea una copia del fichero infectado antes de limpiarlo. El
fichero infectado quedará con extensión VIR y el sano con el nombre original. Es recomendable tenerla
desactivada.
Crear informe Crea un fichero en el directorio raíz de la unidad con el resultado de la exploración llamado
CPAV.RPT.
Mensaje-guía de detección Muestra un cuadro de diálogo al detectar un posible virus. Los tres mensajes
Curso de MS-DOS Capítulo 17 Página 8 de 11
más usuales se describen más adelante. Si está desactivada, Msav no pide confirmación. En este último caso
conviene crear un informe para saber el resultado del análisis. Es recomendable tenerla activada.
Anti Stealth Si se activa a la vez que "Verificar integridad", Msav desarrolla una rutinas a bajo nivel
capaces de detectar virus desconocidos o virus camuflados -fenómeno stealth-. Debido al bajo rendimiento
de esta opción, se recomienda desactivarla.
Verificar todos los archivos Si la casilla está activada se chequean todos los ficheros del disco, sino sólo
los ficheros con extensiones EXE, COM, OVL, OVR, SYS, BIN, APP y CMD. Como los virus suelen
afectar solamente a ficheros ejecutables, se recomienda desactivarla.
Muestra que un fichero ejecutable ha cambiado. Si aparece este mensaje debemos hacer memoria y saber si
lo hemos modificado nosotros _falsa alarma_. Si fue así pulsamos "Actualizar", si tenemos dudas podemos
pulsar "Continuar".
Actualizar Para que tenga efecto debe estar activada la opción Crear nuevos totales de verificación.
Después de pulsar éste botón, Msav tomará como correcta la nueva información del fichero y no volverá a
detenerse en él.
Msav ha detectado un virus en el sector de arranque de un disco. Nos ofrece tres botones:
Msav ha detectado la presencia de un virus. Muestra el nombre del virus y en qué fichero ha sido
encontrado. Ofrece cuatro botones:
Suponga que su disco duro no arranca por culpa de un virus. La única alternativa que tiene es usar un disquete de
arranque. Para crear un disco de arranque y copiarle el anti-virus, hacemos lo siguiente:
C:\>format a: /s
3. Proteger el disquete contra escritura, pegarle una pegatina que lo identifique y guardarlo en lugar seguro.
Si ocurre lo peor, introduzca el disquete anterior en la unidad A: y encienda el ordenador. Cuando se cargue ms-dos,
teclee MSAV C:
17-8 VSAFE
Esta herramienta comprueba continuamente el ordenador para detectar la presencia de virus. Vsafe es un programa
residente en memoria que controla todas las acciones del sistema operativo. Si Vsafe detecta algo inusual interfiere lo
que estemos haciendo y pregunta qué hacer.
Nota: Para utilizar Vsafe en el entorno Windows, debe cargar Vsafe desde el ms-dos, ejecutar Windows y
luego, cargar el programa MWAVTSR.EXE.
Cuando escribamos Vsafe a continuación del símbolo del sistema, éste quedará cargado en memoria hasta que lo
desactivemos.
Curso de MS-DOS Capítulo 17 Página 10 de 11
Nota: Si deseamos que Vsafe se cargue cada vez que arranque el ordenador debemos introducir la línea
VSAFE al final del AUTOEXEC.BAT
Para ver o seleccionar la manera en que Vsafe va a inspeccionar nuestro equipo pulsamos Alt+V en cualquier momento.
Un cuadro de diálogo aparecerá en la pantalla:
2. Avisa si un programa cualquiera intenta permanecer en memoria. Por defecto está desactivada.
4. Comprueba los ficheros ejecutables que ms-dos utilice en cada momento en busca de virus. Por defecto está
activada.
5. Comprueba el sector de arranque de todos los discos. Por defecto está activada.
6. Avisa si se intenta cambiar el sector de arranque de un disco duro o su tabla de particiones. Por defecto está
activada.
7. Avisa si se intenta cambiar el sector de arranque de un disquete. Por defecto está desactivada.
Si Vsafe detecta algo inusual, toma el control del ordenador y muestra un mensaje en pantalla titulado "Advertencia de
Vsafe". A continuación indica el motivo de la interrupción y presenta 3 botones:
Continuar Ignora la advertencia y permite al programa continuar. Debemos pulsarlo si nosotros mismos
hemos provocado la situación. Por ejemplo, si modificamos la etiqueta del disco duro, estamos modificando
también el sector de arranque, por lo que Vsafe mostrará su advertencia.
Capítulo 18
El fichero CONFIG.SYS
NombreOrden=ParámetrosOrden
Se encarga, como su nombre indica, de la configuración del sistema. Cada vez que arranca el sistema operativo, ms-dos
busca los ficheros CONFIG.SYS y AUTOEXEC.BAT en el directorio raíz de la unidad de arranque y los ejecuta.
En este capítulo se estudian las siguientes órdenes especiales reconocidas por CONFIG.SYS:
Orden Cometido
Buffers Define el número de buffers o memorias temporales.
Files Establece el número máximo de ficheros que se pueden abrir a la vez.
Device Carga un controlador de dispositivo en memoria convencional.
Devicehigh Carga un controlador de dispositivo en memoria superior.
Country Define el formato de la fecha, separador decimal y otras convenciones del idioma.
Lastdrive Especifica el número máximo de unidades reconocidas por ms-dos.
Dos Indica si ms-dos se instalará en memoria alta o si proporcionará acceso a los bloques libres de memoria
superior.
Shell Define el procesador de órdenes.
Nota: Las órdenes Rem, Set y Break son válidas tanto en el fichero CONFIG.SYS como escritas a
continuación del símbolo del sistema.
Parámetro Descripción
valor1 especifica el número de buffers que se cargarán en memoria. En memoria convencional el rango
permitido oscila entre 1 y 99. Pero en memoria expandida se admiten hasta 10000 buffers. Si el
ordenador tiene más de 512K de memoria RAM, el valor por defecto es 15.
valor2 especifica el número de buffers de lectura anticipada, entre 1 y 8, que se cargarán en memoria. El valor
por defecto es 1.
/X Almacena los buffers del sistema (no los de lectura anticipada) en memoria expandida.
Cuando una aplicación precisa leer varios sectores del disco por primera vez, estos sectores se copian primero en los
buffers de memoria y luego se suministran a la aplicación. Cada buffer almacena un sector del disco.
Si posteriormente se piden leer esos mismos sectores, no hará falta leerlos en el disco pues se encuentran ya
almacenados en la rápida memoria RAM.
Los sectores menos usados almacenados en buffers se borran para dar paso a nuevos sectores.
Por tanto, un mayor número de buffers ahorra accesos al disco y acelera el rendimiento del ordenador. Sin embargo,
cada uno ocupa 532 bytes de memoria.
Los buffers de lectura anticipada son útiles para lecturas secuenciales del disco. Ejemplo: Si se han definido 5 buffers
para lectura anticipada, cuando una aplicación pida leer el sector 50, ms-dos aprovechará para leer los sectores 50, 51,
52, 53 y 54. Si posteriormente la aplicación pide leer los sectores 51-54 no será necesario acceder al disco pues se
encuentran ya en memoria.
Para definir 30 buffers y 2 más de lectura anticipada, introduzca esta línea en el fichero CONFIG.SYS:
BUFFERS=30,2
FILES=NúmeroFicheros
El valor por defecto es 8. Pero este valor resulta escaso en la mayoría de las ocasiones y es necesario aumentarlo. Para
definir un número máximo de 35 ficheros abiertos, introduzca esta orden en el fichero CONFIG.SYS:
FILES=35
Curso de MS-DOS Capítulo 18 Página 3 de 6
DEVICE=Controlador
DEVICEHIGH=Controlador
Además, es necesario especificar la trayectoria completa del controlador, así como su extensión. La siguiente orden
instala en memoria convencional el controlador MOUSE.SYS ubicado en el directorio C:\DRIVERS:
DEVICE=C:\DOS\MOUSE.SYS
Parámetro Descripción
CódigoPaís Es el número del país. Coincide con el código telefónico internacional (34 para España y 1 para
Estados Unidos).
PáginaCódigos Especifica la página de códigos o juego de caracteres. Este parámetro no suele usarse.
Fichero Especifica el fichero con la información internacional. ms-dos suministra el fichero COUNTRY.SYS.
COUNTRY=1,437,C:\COUNTRY.SYS
Curso de MS-DOS Capítulo 18 Página 4 de 6
COUNTRY=34,,C:\DOS\COUNTRY.SYS
LASTDRIVE=LetraUnidad
Donde LetraUnidad es la última unidad soportada. Por defecto, ms-dos reconoce 4 unidades (desde la A: hasta la D:).
Para aumentar el número de unidades hasta 6, añada esta línea al CONFIG.SYS:
LASTDRIVE=F
DOS=[HIGH,] UMB
DOS=HIGH [,UMB]
Parámetro Descripción
HIGH Instala ms-dos en el área de memoria alta. La memoria alta debe estar preparada.
UMB Habilita los bloques libres de memoria superior. La memoria superior debe estar preparada.
Procesador de órdenes.— Programa encargado de presentar el símbolo del sistema y ejecutar cada orden
introducida. Generalmente es el COMMAND.COM.
SHELL=ProcesadorÓrdenes
Como el procesador de órdenes proporcionado por ms-dos es el programa COMMAND.COM, se puede concretar más
la sintaxis anterior:
Parámetro Descripción
trayecto Indica la ubicación del fichero COMMAND.COM. En la sintaxis se ha repetido el parámetro trayecto
dos veces. El primero especifica la posición de COMMAND.COM al arrancar el sistema operativo. El
segundo especifica el lugar de COMMAND.COM al salir de las aplicaciones. Lo normal, es que
coincidan.
dispositivo Indica el dispositivo utilizado para la entrada y salida de datos. El dispositivo por defecto es CON
(entrada por el teclado y salida por pantalla).
/E:TamEntorno Indica el tamaño del entorno. El valor debe estar entre 160 y 32678. El valor por defecto es 256 bytes.
/P Hace permanente el procesador de órdenes COMMAND.COM. Además ejecuta el fichero
AUTOEXEC.BAT antes de presentar el símbolo del sistema.
/MSG Guarda todos los mensajes de error en memoria. Este modificador se usa al cargar ms-dos desde
disquetes. El modificador /MSG debe ir acompañado del modificador /P.
Si no existe la orden Shell, ms-dos buscará el fichero COMMAND.COM en el directorio raíz de la unidad de arranque.
Puede cambiar la ubicación de este fichero si lo especifica con una orden Shell.
En la sintaxis, cambie trayecto por la nueva ubicación de COMMAND.COM. Utilice el modificador /P para hacer
permanente el procesador de órdenes COMMAND.COM y ejecutar el AUTOEXEC.BAT.
SHELL=C:\DOS\COMMAND.COM C:\DOS /P
Si al introducir una orden Set, Path o Prompt desde el símbolo del sistema se presenta el siguiente mensaje, será
necesario aumentar el tamaño del entorno.
Curso de MS-DOS Capítulo 18 Página 6 de 6
Entorno.— Es una porción de memoria donde se almacenan unas variables. En el Capítulo 7 se explica
detalladamente el entorno.
Si su fichero CONFIG.SYS no contiene la orden Shell y desea aumentar el espacio del entorno a 512 bytes, introduzca
la siguiente línea en el fichero CONFIG.SYS:
Si su fichero CONFIG.SYS contiene la orden Shell, añada el modificador /E:512 para incrementar el espacio del entorno
a 512 bytes.