Introducción a MsDos.

(Por Nacho Cabanes, Nov. 2002 - Versión HTML sin terminar de revisar)


MsDos era el sistema operativo habitual en los ordenadores no hace mucho tiempo. Hoy en día se sigue pudiendo utilizar desde Windows 95 y Windows 98, ya que está disponible en el apartado "Programas" del menú "Inicio".

Su uso es más incómodo que el del entorno gráfico de Windows, pero aun así puede seguir resultando interesante, porque permite un mayor control del ordenador.

Por eso, veremos varios temas relacionados con MsDos:

...

MsDos -Introducción histórica.

En los primeros ordenadores domésticos, como los Spectrum, Msx, Commodore 64 o Amstrad CPC, el Sistema Operativo (la cara que nos mostraba el ordenador, y lo que recibía y procesaba nuestras órdenes) era el propio lenguaje Basic, que aparecía al encender el ordenador.

En la mayoría de ellos, había posibilidad de incorporar una unidad de disco, lo que permitía acceder a otros sistemas operativos que se leían desde disco, y que estaban pensados para aplicaciones de gestión, como el CP/M.

De este tipo es el sistema operativo que suelen incorporar los PC, el DOS (Disk Operating System, sistema operativo de disco). Su apariencia para nosotros será normalmente una pantalla con fondo negro y letras grises, y las órdenes que usaremos serán palabras en inglés o abreviaturas de éstas.

Hay distintas versiones del DOS, y se diferencian por el nombre (según la casa que lo fabrique o distribuya) y el número de la versión:

  • MS-DOS, de Microsoft.
  • DR-DOS, de Digital Research.
  • IBM-DOS o PC-DOS, de la propia IBM.
  • Compaq DOS, Novell DOS, OpenDos, etc, de otros fabricantes.

Las versiones van desde la 1.00 hasta la 7.0, siendo las más extendidas: MsDos 3.30, MsDos 5.0 y actualmente MsDos 6.22 (la última creada por Microsoft).

Estos sistemas operativos (DOS) se basan en el manejo del disco, llamando habitualmente A a una unidad de diskette, B a la otra (si la hay) y C al disco duro. Si hay más de un disco duro (o un CdRom, o unidades de otro tipo), se denotan por las siguientes letras: D, E, F...

En cada uno de estos discos podemos guardar distintas "cosas":

  • Textos (cartas, por ejemplo).
  • Imágenes.
  • Datos de clientes, proveedores, etc.
  • ...

A todas estas "cosas" las llamaremos de forma genérica "ficheros" o "archivos".

Cada fichero deberá tener un nombre, que nos permitirá localizarlo. Estos nombres tienen una limitación: deben estar formados por un máximo de 11 letras. Las ocho primeras letras son el nombre del fichero propiamente dicho, y las tres restantes son la extensión (normalmente aparecen separadas por un punto). El nombre suele expresar la misión del programa o fichero de datos, y la extensión indica al DOS el tipo de fichero del que se trata.

Algunas extensiones están reservadas para el DOS:

  • EXE son programas ejecutables (que podemos hacer funcionar).
  • COM son comandos (similar).
  • BAT son ficheros Batch (lotes de órdenes).

Otras extensiones no son obligatorias pero nos pueden servir para aclarar:

  • TXT puede usarse para indicar que es un texto.
  • DOC indicará que se trata de un documento.
  • HLP suelen ser ficheros de ayuda (Help).
  • SYS suelen ser archivos especiales del sistema (del DOS).
  • BAS son programas en lenguaje Basic.
  • PAS son programas en lenguaje Pascal.
  • ...

Apariencia de MsDos - La orden DIR.

Al entrar a MsDos, bien porque estemos delante de un ordenador antiguo, que no incorpore otro sistema operativo más moderno, o bien porque accedamos desde Windows 95 o Windows 98, escogiendo la correspondiente opción del menú de Inicio, nos encontraremos con una pantalla negra vacía (o casi), que mostrará con letras blancas un letrero como éste:

C:\>

Para trabajar con MsDos, deberemos teclear órdenes, que normalmente serán palabras en inglés o abreviaturas de éstas.

Como primer ejemplo, veremos la orden DIR, que nos permite comprobar qué hay en un ordenador que tenga MsDos como sistema operativo:

Para emplearla, basta teclear DIR (tanto en mayúsculas como en minúsculas) y pulsar la tecla de Retorno de Carro, que suele venir indicada como RETURN, ENTER, INTRO ó ¿. Obtendríamos una respuesta parecida a ésta:

El volumen de la unidad C es NACHO
El número de serie del volumen es 372A-0ACC

Directorio de C:\EJEMPLO

 . <DIR> 06/11/96 14:24
.. <DIR> 06/11/96 14:24
CD-V EXE 101.618 27/09/94 16:38
CD-V CFG 62 27/09/94 11:53
CD-V DOC 9.390 27/09/94 12:39

3 archivo(s) 111.514 bytes
2 directorio(s) 23.453.696 bytes libres

Este es sólo un ejemplo. Normalmente obtendremos una lista de nombres distinta. Aun así, vamos a comentar lo que el ordenador nos ha respondido, porque el significador será siempre el mismo:

  • Primero hay una cabecera que nos dice qué unidad de disco estamos usando, y en qué "apartado" (directorio, lo veremos más adelante) nos encontramos.
  • . y .. son símbolos especiales, que veremos más adelante.
  • Hay 3 archivos (o ficheros).
    • El primero es CD-V.EXE. El nombre es CD-V, la extensión es EXE (por tanto, es un fichero que nosotros podemos ejecutar), ocupa 101.618 bytes, y se creó el 27 de Septiembre del 94 a las 16:38 horas.
    • El segundo es CD-V.CFG. El nombre es CD-V, la extensión es CFG (la "configuración" de CD-V), ocupa 62 bytes, y se creó el 27 de Septiembre del 94 a las 11:53 horas.
    • El último es CD-V.DOC. El nombre es CD-V, la extensión es DOC (la "documentación" de CD-V, que nos enseña cómo usar ese programa), ocupa 9.390 bytes, y se creó el 27 de Septiembre del 94 a las 12:39 horas.
  • Luego se nos indica el espacio total que ocupan los tres (111.514 bytes).
  • Finalmente, se nos dice cuánto espacio libre nos queda (23.453.696 bytes).

Se puede indicar un nombre de fichero si queremos ver si éste se encuentra presente, su tamaño, etc.: DIR NOMBRE.EXT mostraría el nombre y características del fichero nombre.ext, si existiese. Por ejemplo, en el caso anterior, si tecleamos DIR CD-V.EXE obtendríamos como respuesta:

El volumen de la unidad C es NACHO
El número de serie del volumen es 372A-0ACC

Directorio de C:\EJEMPLO

CD-V EXE 101.618 27/09/94 16:38

1 archivo(s) 101.618 bytes
0 directorio(s) 23.449.600 bytes libres

También hay una serie de opciones (parámetros), que modifican el aspecto con el que la ordena DIR nos presentará los datos. Las principales son:

  • DIR /W hace una presentación amplia (wide), ocupando toda la pantalla, ya que escribe los nombres en varias columnas, pero da menos información.
  • DIR /P (pausa) hace aparecer toda la información de cada fichero, se para al llenar cada pantalla, y espera a que se pulse una tecla para continuar.

Estas opciones, así como otras más avanzadas, se pueden emplear juntas:

  • DIR /W /P mostraría los nombres de los ficheros en varias columnas, esperando a que el usuario pulse una tecla cuando la pantalla se llena.

Las unidades de disco (lectores de diskette, discos duros, etc) se designan por una letra, seguida de dos puntos (:). Así, A: es la primera unidad de disco flexible, B: es la segunda unidad de disco flexible (si existe), C: es el disco duro, D: y sucesivas suelen indicar discos duros adicionales, discos RAM, discos ópticos CD-ROM, etc.

Así, si se quisiera ver el contenido de la unidad de disco designada con la letra A se usaría DIR A: Los dos puntos del final son obligatorios, y sirven para diferenciar una unidad de disco (A, en este caso) de un programa: DIR A buscaría un fichero cuyo nombre fuese "A" (sin extensión).

Por tanto, si queremos ver el contenido de nuestro diskette, podemos hacerlo de dos formas:

  • Teclear DIR A: (y pulsar "Intro"), con lo que veremos el contenido del diskette, aunque estemos trabajando en ese momento con el disco duro.
  • Teclear A: (y pulsar "Intro") para "entrar" a nuestro diskette y luego DIR (y pulsar "Intro") de la unidad de disco en la que estamos trabajando (que acaba de pasar a ser el diskette).

MsDos - Copiar ficheros. Los comodines.


COPY copia programas o ficheros cualesquiera de un "sitio" a otro: de una unidad de disco a otra distinta, o a otro "apartado" en la misma unidad de disco, etc.

El formato es:

COPY qué dónde

(le indicamos qué queremos copiar y dónde lo queremos enviar).

Así, para copiar el fichero MITEXTO.TXT a la unidad A, se haría

COPY MITEXTO.TXT A:

Si además de copiar un fichero queremos que la copia tenga un nombre distinto, debemos usar este nombre en el segundo parámetro (opción) de la orden COPY:

COPY MITEXTO.TXT A:TEXTO2.TXT

que realiza la misma operación que antes, pero ahora el fichero que aparece en la unidad A se llamará TEXTO2.TXT.

Comodines.

Para copiar más de un fichero, empleamos los "caracteres comodín", que reemplazan a cualquier otro. Son la interrogación y el asterisco. La interrogación sustituye a cualquier carácter, pero a uno solo, mientras que el asterisco reemplaza a varios.

Así, COPY A:??TEXTO.TXT C: se encargaría de copiar en el disco C todos los ficheros del disco A cuyo nombre empiece por dos letras cualesquiera y terminen por "TEXTO". Las interrogaciones pueden aparecer en cualquier parte del nombre, por lo que también sería correcto escribir COPY DATO?A.TX? B:

El asterisco sólo puede aparecer al final del nombre o de la extensión, y quiere decir "cualquier combinación de letras y números", luego podemos copiar al disco B todos los ficheros que empiecen por DA y cuya extensión empiece por C, tecleando COPY DA*.C* B:   Por tanto, si queremos copiar todos los ficheros del disco actual al disco C, haríamos COPY *.* C:


MsDos - Borrado y renombrado de ficheros.

ERA, ERASE o DEL borra un fichero o un grupo de ficheros. Se utiliza: DEL NOMBRE.EXT   Si se quiere borrar más de un fichero, se pueden utilizar los caracteres "comodín", vistos al tratar la orden COPY, así: ERA *.* borraría todos los ficheros, ERA *.?AS borraría los ficheros cuya extensión empiece con cualquier letra y termine con "AS".

REN o RENAME cambia el nombre de un archivo por otro nuevo. Primero se indica el nombre inicial y luego el que se le desea dar en vez de aquél: REN ANTIGUO.EXT NUEVO.EXT


MsDos - Contenido de ficheros: TYPE.

TYPE muestra el contenido de un fichero:
TYPE CD-V.DOC

Sólo es útil cuando se trata de ficheros de texto puro (ASCII), ya que en ficheros de otro tipo (ficheros ejecutables EXE o COM, o datos procedentes de WordPerfect, dBase, Lotus y otras aplicaciones) suelen existir caracteres de control, que el programa que ha creado ese texto sí entiende, pero que para nosotros parecerán no tener significado.



MsDos - Editar textos: EDIT.

Cuando queremos crear un texto sencillo (por ejemplo, una carta o una factura, en la que no necesitemos poner palabras en negrita ni hacer "mejoras" parecidas), podemos emplear un herramienta que incorporan las últimas versiones de MsDos: un editor de textos llamado EDIT.

La forma más sencilla de manejarlo será tecleando EDIT seguido del nombre del fichero que queremos crear, por ejemplo EDIT PRUEBA.TXT

Entraremos a una pantalla vacía, en la que podemos teclear lo que queramos, avanzar de línea pulsando Intro, e incluso retroceder con las flechas que aparecen en el teclado.

Para salir, debemos seguir los siguientes pasos: pulsar la tecla ALT para activar los menús, luego la A para ir en concreto al menú "Archivo" y finalmente la "l" para Salir (o bien bajar con las flechas hasta la palabra Salir)

Entonces el ordenador nos preguntará si queremos guardar los cambios. Pulsamos la S para indicarle que Sí, y ya tenemos nuestro texto creado.


MsDos - Comandos internos y externos.

En MS-DOS existe una serie de órdenes a las que podemos acceder siempre que entramos al sistema operativo, como es el caso de DIR. Estos son los "comandos internos" de MS-DOS.  
Nota: la palabra "command" es un traducción directa pero poco correcta del inglés command; en español sería más correcto decir "órdenes".

Por el contrario, los ficheros con extensión EXE, COM y BAT, ya mencionados, indican al sistema una serie de acciones que debe realizar, pero no dejan de ser ficheros, que pueden encontrase en un equipo y no en otro. Por ello, reciben el nombre de comandos externos.

El MS-DOS incluye comandos internos y externos. Los comandos externos suelen encontrarse en el subdirectorio DOS (los directorios se tratarán un poco más adelante)

Así, la orden DIR (y otras) es una orden interna, por lo que la encontraremos en cualquier ordenador en el que esté instalado el DOS. Por el contrario, la orden FORMAT (que veremos en el siguiente apartado) es externa: aparecerá normalmente cierta zona del disco duro, con el nombre FORMAT.COM. Si alguien la borra o le cambia el nombre, dejaremos de poder utilizarla.


MsDos - Preparación de discos: FORMAT.

Antes de grabar "cosas" en un disco, debemos preparar el espacio en el que queremos grabar, y tenemos algunas (pocas) posibilidades de elegir cuánto espacio libre queremos en cada disco, ya que no siempre es bueno aprovecharlo al máximo, bien porque queramos compartir datos con un equipo menos potente, o bien por limitaciones físicas: por ejemplo, porque tengamos un lector de discos de una sola cara (en equipos muy antiguos) o similares. En la práctica, ordenadores distintos pueden usar diskettes que parezcan ser iguales, pero en los que la información se grabe de distinta forma, por lo que no se pueden compartir.

A la organización del disco se le llama formato, y a la acción de dar formato, se le suele llamar "formatear".

Las capacidades más habituales en los discos flexibles, para ordenadores PC son:

 
Capacidad Formato Densidad Equipo
360 K 5¼" Doble (DD) PC/XT
1200 K 5¼" Alta (HD) 286 y superiores
720 K 3½" Doble (DD) PC/XT
1440 K 3½" Alta (HD) 286 y superiores
2880 K 3½" Extra (ED) Pocos: algunos IBM avanzados 

Para indicar que queremos formatear el disco en la unidad A, escribimos FORMAT A: El ordenador nos pedirá que introduzcamos el disco y que pulsemos una tecla; después nos irá informando de qué cantidad del disco está formateando, y finalmente nos pedirá un nombre (hasta 11 letras) que le podemos dar al diskette.

Formatear un disco es una acción peligrosa, porque si éste contuviera algún dato, podríamos borrarlo por completo y no poderlo recuperar después.


MsDos - Copia de discos: DISKCOPY.

El mandato COPY se usa para copiar un grupo de ficheros, pero también podemos hacer una copia de todo el contenido de un disco de golpe. Para ello se emplea DISKCOPY, que tiene como parámetros la unidad de disco de origen y la de destino.

Los discos de origen y destino deben ser del mismo formato (no podemos copiar un disco de 5¼ en uno de 3½ mediante DISKCOPY, ni uno de Alta Densidad en otro de Baja Densidad).

Así, si las unidades A y B en nuestro sistema son del mismo tipo, podemos duplicar discos haciendo DISKCOPY A: B: Si son distintas, o si sólo tenemos una unidad de disco, indicamos que la unidad que va a ser origen de nuestra copia y la de destino son la misma: DISKCOPY A: A: y el DOS nos avisa cuando debamos introducir el disco de origen o el de destino.


MsDos - Estructura de directorios.

En un disco flexible pueden caber muchos ficheros, y más en un disco duro. Por ello es necesario que exista una cierta estructura que permita organizarlos de una forma eficiente. Esto es lo que pretenden los directorios. La idea es la misma que la de una carpeta clasificadora: se crean diversos apartados para poder separar los datos correspondientes a distintos asuntos.

Entonces, tenemos un directorio principal o raíz, del que nacen una serie de directorios (apartados). Cada uno de estos, puede tener a su vez varios subdirectorios (subapartados).

Es el caso de que varias personas compartan un ordenador. Si dos de ellas usan el WordPerfect, conviene que cada una tenga sus textos en un directorio distinto, para localizar sus datos con rapidez y sin confundirlos con los de los demás o los del propio programa. Tendríamos un directorio WP en el que estaría el WordPerfect, y dentro de él otros dos: JUAN y PEDRO.

Vamos a comentar las órdenes que se pueden utilizar para manejar directorios, y después veremos un ejemplo...


MsDos - Manejo de directorios: MD, CD, RD, TREE.

Hay unas órdenes (internas) para el manejo de subdirectorios:
    • MKDIR o MD crea un subdirectorio por debajo del actual ("hijo" del actual), y se utiliza indicando el nombre del directorio que se crea: MD APUNTES
    • RMDIR o RD borra un subdirectorio, que deberá estar vacío (sin ningún fichero dentro). Se debe ejecutar desde el directorio superior al que queremos borrar ("padre"): RD APUNTES
    • CHDIR o CD cambia del directorio actual al que se le indique, que deberá estar por debajo de él: CD APUNTES. Se puede cambiar a un directorio a otro nivel cualquiera si se indica su nombre completo: CD C:\WP\JUAN (la barra invertida \ se emplea para separar los nombres de los distintos directorios por los que queremos pasar). Si no se indica el directorio al que se quiere pasar (se escribe sólo CD), el ordenador responderá escribiendo cuál es el directorio en el que se está trabajando en este momento. Para volver atrás un nivel, usamos CD .. y para volver directamente al directorio raíz, CD \

Hay otro comando del MS-DOS que muestra cómo están situados los directorios dentro del disco, es el comando TREE (árbol). Esta orden es externa, aparece como un programa llamado TREE.COM.

Ejemplo de manejo de directorios.

Supongamos que en nuestro ordenador nos interesa crear distintos apartados:

  • Uno para las cartas que vayamos escribiendo
  • Otro para la gestión de nuestra empresa.
  • Otro para juegos.
A su vez, nos puede interesar que cada uno esté divido en otros subapartados.
  • Cartas, agrupadas por meses: Enero, Febrero, etc.
  • Gestión: apartados para clientes, proveedores, facturas, almacén, etc.
  • Juegos: de coches, de lucha, de laberintos 3D (y además de este tipo tenemos dos: el Doom y el Duke Nukem), de estrategia, etc.
Entonces, tendríamos que crear una estructura parecida a ésta:
  • CARTAS
    • ENERO
    • FEBRERO
    • MARZO
  • JUEGOS
    • COCHES
    • LUCHA
    • 3D
      • DOOM
      • NUKEM
  • GESTION
    • FACTURAS
    • CLIENTES
    • PROVEED
    • ALMACEN
Para crear estos directorios en nuestro ordenador, podríamos seguir los siguientes pasos (por ejemplo, pero no es la única forma de hacerlo):

1. Crear los directorios "grandes", los que están justo debajo del principal:

MD CARTAS
MD JUEGOS
MD GESTION

2. Entrar a Cartas y crear sus subdirectorios:

CD CARTAS
MD ENERO
MD FEBRERO
MD MARZO

3. Salir de Cartas, entrar a Gestión y hacer lo mismo:

CD ..
CD GESTION
MD CLIENTES
MD PROVEED
MD FACTURAS
MD ALMACEN

4. Salir de Gestión, entrar a juegos

CD ..
CD JUEGOS
MD COCHES
MD LUCHA
MD 3D

5. Entrar al subdirectorio de juegos en 3D y crear sus dos apartados

CD 3D
MD DOOM
MD NUKEM

6. Volver al directorio principal y comprobar cómo ha quedado todo.

CD \
TREE

La orden TREE nos daría una respuesta parecida a ésta:

Lista de directorios y estructura para el Volumen NAC

El número de serie del volumen es 372A-0ACG

C:.
+---CARTAS

¦
+---ENERO

¦
+---FEBRERO

¦
+---MARZO

+---JUEGOS

¦
+---COCHES

¦
+---LUCHA

¦
+---3D

¦
+---DOOM

¦
+---NUKEM

+---GESTION

 
+---FACTURAS

 
+---CLIENTES

 
+---PROVEED

 
+---ALMACEN



Finalmente, vamos a ver algunos ejemplos sencillos de cómo desplazarnos entre directorios.

    Desde cualquier subdirectorio, volver al directorio superior ("padre").
CD ..
    Desde cualquier sitio, volver al directorio raíz.
CD \
    Desde el raíz, entrar al directorio de Juegos.
CD JUEGOS
    Desde el raíz, bajar al apartado Almacén que está dentro de Gestión.
CD GESTION\ALMACEN
    Desde éste, ir al de Facturas (en dos pasos).
CD ..
CD FACTURAS
    Desde el de Facturas, ir al de Cartas de Marzo (en dos pasos).
CD \
CD CARTAS\MARZO
    Desde éste, ir al del juego Doom en un solo paso.
CD \JUEGOS\3D\DOOM
    Desde éste ver el contenido del subdirectorio de cartas de Febrero.
DIR \CARTAS\FEBRERO
    Desde cualquier sitio, borrar el directorio de juegos de lucha.
RD \JUEGOS\LUCHA

(debe estar vacío)

    Copiar el fichero JLOPEZ.001 desde el apartado de Cartas de Marzo al de Clientes, estemos nosotros donde estemos.
COPY \CARTAS\MARZO\JOPEZ.001 \GESTION\CLIENTES

MsDos - Fecha y hora. Borrado de pantalla. Versión del S.O.

Para ver o modificar la hora se emplea la orden TIME. Al teclearla, el ordenador nos muestra la hora actual y nos ofrece la posibilidad de cambiarla. Cuando apagamos el ordenador, la hora no se borra, sino que permanece en una memoria mantenida por pilas.

Podemos obligar al ordenador a que acepte una determinada hora, en vez de preguntárnosla. Para ello, basta con indicar la hora después de TIME, así: TIME 12:48 Como se ve, no hace falta indicar los segundos ni las centésimas, que el ordenador tomará como 0.

Podemos realizar las mismas operaciones con la fecha, mediante la orden DATE, que sin parámetros nos muestra la fecha actual y nos pregunta la nueva, y con parámetros establece la nueva fecha: DATE 18-9-93

Si queremos borrar la pantalla, utilizaremos el mandato CLS, que la deja vacía, con los colores iniciales y el cursor en la esquina superior izquierda.

Se puede saber qué versión del sistema operativo estamos usando, tecleando la orden VER.


MsDos - Dónde se busca: el PATH.

Como ya hemos visto, el MsDos tiene órdenes internas y externas. Las internas existen siempre en cualquier ordenador que tenga MsDos, pero las externas están en cierta "parte" del disco duro, y el ordenador tiene que ir a buscarlas allí. Esta "parte del disco duro" suele ser un directorio llamado DOS.

Así, cuando nosotros tecleamos una orden, el ordenador primero mira en su memoria a ver si es una orden interna. Si lo es, la ejecuta; si no lo es, mira en el directorio DOS a ver si se encuentra allí. Si esta allí, la ejecuta; si no está, nos avisa con un mensaje de error, que suele ser:

Comando o nombre de archivo desconocido.

Pero podemos indicar al ordenador que cuando tecleemos una orden que no conoce mire en otros sitios, no solo en el directorio DOS, o que ni siquiera mire en ese directorio.

Lo que hacemos es indicarle un "camino" (en inglés PATH), es decir una serie de directorios, en los que debe buscar las órdenes que tecleemos y que él no conozca. Si después de mirar en esos directorios no localiza la orden (un fichero con extensión EXE, COM o BAT), será entonces cuando nos responda con un mensaje de error.

Para ver en qué directorios buscará nuestro ordenador las órdenes externas, basta teclear PATH.

Por ejemplo, si en nuestro ordenador el PATH es C:\DOS;C:\UTILIDAD y tecleamos la orden HOLA, el ordenador seguirá los siguientes pasos:

  • Comprobar si se trata de una orden interna (no lo es).
  • Mirar si existe HOLA.BAT, HOLA.COM, HOLA.EXE en el directorio DOS del disco duro (es de suponer que no ocurra).
  • Mirar si existe HOLA.BAT, HOLA.COM, HOLA.EXE en el directorio UTILIDAD del disco C. Si existe, lo ejecutará; si no existe, dará un mensaje de error, porque ya no le quedan más directorios por mirar.

Esto permite que nosotros podamos crear nuestros directorios de utilidades, con los programas que empleemos con más frecuencia, y que podamos acceder a esos programas desde cualquier parte del disco duro, sin necesidad de entrar al directorio en que se encuentran.

Más adelante veremos cosas sobre el AUTOEXEC.BAT, que nos permitirán aplicar esto del PATH de una forma cómoda.


MsDos - Atributos de ficheros.

Nos puede interesar evitar que un determinado fichero no se pueda borrar. Esto se consigue modificando sus "atributos". Estos atributos son características especiales, y entre ellos se encuentra el de "Sólo Lectura". Si un archivo es de Sólo Lectura, no se podrá borrar ni modificar.

Estos atributos son:

  • Archivo (archive), usado por algunos programas que realizan copia de seguridad. Se emplea para distinguir aquellos archivos de los que ya se ha hecho copia de seguridad, de otros de los que no se ha hecho esta copia.
  • Sólo lectura (read only) hace que un archivo se pueda leer, pero no modificar ni borrar.
  • Oculto (hidden) hace que no se muestre un archivo con la orden DIR, lo que permite que gente extraña no localice ficheros confidenciales con facilidad.
  • Sistema (system) permite que un fichero no se muestre en pantalla con la orden DIR ni se pueda copiar con COPY.
  • Otros que no podemos cambiar nosotros, como el de Directorio.

Para cambiar los atributos de un archivo, se emplea el mandato ATTRIB. Si tecleamos ATTRIB sin parámetros, se nos muestra la lista de ficheros presentes en el directorio actual, junto con sus atributos (la inicial en inglés: A=Archivo, H=Oculto, R=Sólo lectura, S=Sistema). Si queremos añadir un atributo a un archivo, lo indicamos con el signo + y esta letra, o se lo quitamos con el signo - y la letra: para ocultar el fichero CONFIG.SYS, teclearíamos

ATTRIB +H CONFIG.SYS

MsDos - Etiquetas de discos.

Al teclear el comando DIR, el Sistema Operativo nos indicaba el "nombre" o etiqueta del disco ("etiqueta de volumen" es como lo llama el MsDos). Este nombre se lo habíamos puesto cuando dimos un formato al disco (con FORMAT).

Si después queremos cambiar el nombre (la etiqueta) que hemos puesto a un disco, no es necesario volver a formatearlo (recordemos que al formatear un disco se pierde todo su contenido): podemos usar la orden LABEL.

Basta teclear LABEL NUEVONOMBRE. Este nombre puede tener hasta 11 caracteres de longitud.

Si queremos ver cual es la etiqueta de volumen de un disco sin necesidad de usar la orden DIR, que nos muestra también todos los ficheros, podemos emplear VOL.


MsDos - Ficheros "ficticios".

Una característica más avanzada, y por ello poco empleada (pero que puede resultar útil) de MS-DOS es que muchos dispositivos externos se tratan como ficheros, lo que simplifica su acceso.

Por ejemplo, la impresora se representa como un fichero ficticio llamado PRN, por lo que podemos imprimir un texto escribiendo

COPY NOMBRE.EXT PRN

Análogamente, la consola (tanto pantalla como teclado) se representa como un fichero llamado CON, y por eso podemos ver el contenido de un fichero haciendo

COPY NOMBRE.EXT CON

(copiar el fichero, tomando la pantalla como destino, es equivalente a usar la orden TYPE)

También podemos escribir el texto que forma un fichero tecleando

COPY CON NOMBRE.EXT

(el origen es el teclado y el destino, el fichero). En este último caso, necesitamos una forma de indicar al DOS que hemos terminado la introducción del texto. Esto se hace pulsando CTRL+Z.


MsDos - Introducción a los ficheros Batch.

Cuando tenemos que realizar tareas repetitivas, hay una forma de evitar teclear siempre todas las órdenes. Los ficheros Batch son ficheros de "lotes de órdenes", es decir, series de órdenes normales del Dos, indicadas una tras la otra.

Supongamos que todos los días, al comenzar la sesión con el ordenador, realizamos los siguientes pasos:

  • Borrar la pantalla.
  • Comprobar la fecha.
  • Comprobar la hora.
  • Mostrar el contenido del directorio C:\WP51\NACHO en formato ancho.

La forma de automatizarlo es crear un fichero Batch, que podemos llamar INFO.BAT (la extensión BAT indica al DOS que es algo que puede ejecutar).

Así, escribimos

EDIT INFO.BAT

para entrar al editor, y dentro de él tecleamos

CLS
DATE
TIME
DIR C:\WP51\NACHO /W

Lo grabamos y salimos. Desde este momento, cada vez que tecleemos INFO, se ejecuta el fichero INFO.BAT, que realiza los 4 pasos anteriores.

Otras órdenes útiles para ficheros BAT son:

  • PAUSE, que escribe el mensaje "Presione cualquier tecla para continuar" y espera a que pulsemos una tecla.
  • ECHO Mensaje, que escribe un mensaje en la pantalla.
  • ECHO OFF, que hace que el Dos no escriba en pantalla cada paso que va dando.

MsDos - Redirección de entrada y salida.

Vimos que órdenes como DIR o TYPE muestran normalmente los resultados en la pantalla. Por otra parte, podíamos imprimir el contenido de un fichero con COPY FICHERO PRN o con PRINT fichero. Pero nos puede interesar imprimir el contenido de un directorio (lo que nos dice DIR).

Para ello, tenemos que redirigir el resultado de DIR hacia la impresora. La letra que nos permite indicar al DOS que no queremos que la salida se realice hacia la pantalla es > ("mayor que").

Por ejemplo, para listar en la impresora los nombres de los ficheros con extensión BAT, haríamos

DIR*.BAT >PRN

También podemos dirigir la salida a un fichero, lo que es útil si nos interesa editarlo en pantalla antes de imprimirlo, para no imprimir toda la información, retocarla, etc. En este caso, teclearíamos

DIR *.EXE >LISTADO.DAT

Obtenemos un fichero llamado LISTADO.DAT que tendría los nombres, tamaños, fechas y horas de creación de los ficheros EXE del directorio actual. Este fichero podríamos verlo y modificarlo desde el EDIT, por ejemplo.

Esto es aplicable a la mayor parte de las órdenes del DOS. Si queremos obtener un fichero de texto que contenga la ayuda de la orden COPY, podríamos hacer

COPY /? >AYUDA.COP

El símbolo de ">" tiene un inconveniente: si el fichero AYUDA.COP (en el caso anterior) ya existiese, desaparecería y sería reemplazado por el nuevo.

Si, por el contrario, queremos añadir la información al final de un fichero ya existente, deberemos emplear dos signos de "mayor que": >>. Por ejemplo, si queremos almacenar la ayuda algunos comandos del DOS en un mismo fichero, podríamos hacer:

DIR /? >AYUDA.TXT
Crea el fichero
COPY /? >>AYUDA.TXT
Añade al final
TREE /? >>AYUDA.TXT
Añade al final

Y para redireccionar la entrada (mucho menos frecuente), utilizamos el signo "menor que": < . Se usa poco, pero un ejemplo es el filtro MORE, que se verá en su uso habitual poco más adelante, y que sirve para "paginar" la presentación en pantalla (igual que la opción /P en DIR).

Así, podemos mostrar un fichero página por página con

MORE <fichero.txt

MsDos - Filtros.

La orden DIR permite ordenar los nombres de los ficheros que existen en un directorio antes de mostrarlos. Esto ocurre en Ms-Dos 5.0 (y superiores), pero no en versiones anteriores.

La forma de conseguirlo en estas versiones es filtrando el resultado de DIR mediante un programa capaz de ordenarlo. Este programa, que también se incluye en el DOS, es SORT, que toma un fichero y hace una copia ordenada. Entonces, se puede ordenar el listado del directorio en tres pasos, con

DIR >LISTADO.DIR
SORT LISTADO.DIR LISTADO2.DIR
TYPE LISTADO2.DIR

Pero estos tres pasos se pueden agrupar en uno, indicando que SORT filtre el resultado de DIR, para lo que se usa el carácter "|", que se encuentra normalmente en la misma tecla que el 1 (aparece como una barra partida):

DIR >LISTADO.DIR |SORT

Otro filtro importante (de hecho, el que más se usa en la práctica hoy en día) es MORE, cuya misión es el equivalente a /P en la orden DIR, es decir, detiene la visualización cada vez que se llena la pantalla. Por ejemplo, si el fichero AUTOEXEC.BAT tiene más de 25 líneas, al intentar verlo con TYPE AUTOEXEC.BAT sólo podremos observar las últimas 25 líneas, ya que las primeras pasarán muy deprisa por la pantalla, borrándose rápidamente. Para evitarlo, escribimos

TYPE AUTOEXEC.BAT |MORE

De igual modo, para sacar el árbol de directorios, pero deteniéndose cada 25 líneas, haríamos

TREE |MORE

Un último filtro, también útil en ciertos casos, es FIND, que sólo muestra la información que contenga una cierto texto.

Por ejemplo, si buscamos los ficheros en cuyo nombre aparezca WIN, una primera idea puede ser escribir DIR WIN*.* /S, pero esto sólo muestra los ficheros que empiecen por WIN, no los que contengan este texto en otra posición. La solución es teclear

DIR /S |FIND "WIN" >INFO.DAT

Esta orden mira todos los ficheros que haya en el directorio actual y sus subdirectorios, "recuerda" sólo aquellos cuyo nombre contenga WIN, y almacena el resultado en el fichero INFO.DAT.


MsDos - El PROMPT.

Es el nombre en inglés que recibe el indicador del sistema, la línea que nos indica que el ordenador está esperando órdenes (normalmente C:\> ).

Podemos hacer que esa línea tenga otro aspecto. Por ejemplo, si queremos que escriba "Hola Jefe" basta teclear

PROMPT Hola Jefe

Si queremos que termine con el símbolo ">", como el que nos presenta el MsDos, deberemos terminar la línea con $G (la G es de Greater than, mayor que; recordemos que el símbolo > está reservado para las redirecciones):

PROMPT Hola Jefe$G

Si queremos que nos diga el directorio en el que estamos trabajando, incluiremos $P (de Path):

PROMPT Hola Jefe. Estoy en $P. Dame ordenes...$G

Para volver a la línea que normalmente presenta el DOS, teclearemos

PROMPT $P$G

En la ayuda de MsDos (que veremos pronto cómo se maneja) tenemos más información sobre las opciones que permite la orden PROMPT.