1. Introducción al MS-DOS

Anuncio
1. Introducción al MS-DOS
El sistema operativo MsDOS es, como todos, un conjunto de programas que pone a disposición
del usuario importantes funciones del ordenador. El mismo actúa no sólo como intermediario entre el
usuario y el ordenador, sino también entre las aplicaciones y el hardware instalado. DOS ( Disk Operating
System ), el sistema operativo para ordenadores personales más común ( MsDOS, DR DOS y PC DOS
son versiones de distintas casas comerciales ) coexiste con otros sistemas operativos de gran importancia,
como el OS/2 y la familia Windows, para ordenadores personales, y el UNIX, para grandes ordenadores.
Mientras que el DOS es un sistema operativo monotarea, debido a que es capaz de realizar una sola tarea
a la vez, y monousuario, debido a que puede atender las peticiones de un solo usuario, el OS/2 es
multitarea y monousuario, lo que significa que un usuario puede realizar varios trabajos al mismo tiempo.
UNIX es multitarea y multiusuario.
Vamos a familiarizarnos con el origen, las posibilidades y algunas interioridades básicas de
MsDOS.
1.1 Algo de historia
El principio de la historia de MsDOS se sitúa en el año 1980, en un tiempo en que los sistemas de
8 bits dominaban el mercado, que se basaba en el procesador 8080 de Intel o el Z80 de Zilog. Como único
sistema operativo en este mercado de los microordenadores se extendía entonces el CP/M 80 de Digital
Research1
Pocos años antes, la empresa Intel había colocado la piedra base para el desarrollo de la primera
generación de microordenadores de 16 bits, con el desarrollo de su microprocesador 8086. Los primeros
representantes de éste empezaban a aparecer en el mercado. Todo el sector esperaba febril la aparición de
la versión 8086 de CP/M, que en Digital Research se estaba desarrollando bajo el nombre de CP/M 86.
Pero como la finalización de esta versión tardaba cada vez más, un programador de nombre Jim
Paterson comenzó en Abril de 1980 con el desarrollo de un nuevo sistema operativo para ordenadores
8086. Sería el padre del actual Ms- y Pc-DOS.
Ya que para CP/M 80 existía en este punto una gran cantidad de software, y el nuevo desarrollo
de este software para un sistema operativo completamente distinto habría causado enormes costes y
esfuerzos, la fácil portabilidad del software al nuevo sistema operativo era la meta principal de Paterson.
Por ello intentó mantener las funciones y estructuras de datos más importantes, e incluirlas en el nuevo
sistema operativo. Además de ello intentó aprender de los errores de CP/M 80 y evitarlos en el nuevo
sistema.
Cuando terminó su trabajo se había creado un sistema operativo, que se componía de 4000 líneas
de código ensamblador, y que ocupaba 6K bytes en memoria. Llevaba el nombre DOS ( 86-DOS ), y
realmente estaba emparentado en muchos aspectos con CP/M 80.
Pero este sistema operativo no se vendía especialmente bien, ya que Paterson se había orientado
en un determinado sistema de microordenador de la empresa donde trabajaba, el llamado Sistema S100Bus de Seattle Computer Products. De modo que 86-DOS sólo se vendió en unión con este hardware.
Muchos otros fabricantes de ordenadores basados en el 8086 se pasaron a la competencia, y apostaron por
el CP/M 86 finalmente acabado.
Por ello, los días del 86-DOS parecían contados, pero esto cambió cuando IBM entró en juego.
IBM estaba planeando un microordenador de 16 bits, y por ello buscaba un sistema operativo
externo, ya que la compañía no tenía experiencia en ordenadores pequeños y se quería comercializar un
producto lo antes posible. Como socios se hablaba de una joven casa de software llamada Microsoft, que
hasta ahora había vendido sobre todo intérpretes de BASIC para sistemas de 8 bits, y naturalmente Digital
1
Empresa que más tarde desarrollaria DR DOS como alternativa a MsDOS
Research. Microsoft obtuvo el trabajo, aunque no tenían sistema operativo propio que ofrecer, al contrario
que Digital Research.
El sistema operativo se obtuvo en Seattle Computer Products, cuyo 86-DOS primero se licenció
y poco después se compró. Ahora se trataba de adaptar el sistema al hardware del futuro ordenador de
IBM. A pesar de que Paterson seguía participando en el proyecto las estrictas normas de seguridad de
IBM no le permitieron siquiera ver la nueva máquina para la que al fin y al cabo estaba desarrollando un
sistema operativo. El trabajo de desarrollo se pudo finalizar en Agosto de 1981, y el nuevo sistema
operativo bajo el nombre de Ms-DOS se pudo presentar junto con el Ordenador Personal ( PC ) de IBM.
Ahí estaba la versión 1.0 que Microsoft, bajo el nombre de MS-DOS 1.0 también ofreció a otros
fabricantes de ordenadores, y que IBM suministraba con sus máquinas bajo el nombre PC-DOS.
Esta versión tenía poco en común con la que conocemos hoy. Por poner un ejemplo, su sistema
de archivos no conocía aun los subdirectorios sino sólo el directorio raíz donde se tenían que colocar
todos los archivos.
Desde entonces hasta este momento en que con la aparición del sistema ( que no
entorno ) Windows 95 el futuro del MsDOS es incierto ( si bien tendrá repercusiones empresariales
durante años ), se han sucedido las versiones que pasamos a indicar.
Versión
2.01
2.11
3.0
3.1
3.2
3.3
Año
1983
1983
1984
1985
1986
1987
4.0
1988
4.01
5.0
1988
1991
6.0
1993
6.2
6.22
1993
Características principales
Extensión para el mercado internacional
Depuración de errores de la 2.01 ( Tb después como 2.25, para lejano Oriente )
Soporta disquete de 1.2M y mayores discos duros
Versión de red
Soporta disquetes de 3.5”, de 720K
Se simplifica la partición de discos duros en unidades lógicas y soporta disquetes de
3.25” de 1.44MB
Programa de instalación e interfaz con shell de fácil manejo
Soporte para discos sin particionar mayores de 32MB
Soporte de memoria EMS para uso interno del sistema
Resuelve errores de la 4.0
El sistema utiliza diversos trucos para liberar el máximo de memoria para los
programas
Mejora el trabajo conjunto con Windows
Puede optimizar automáticamente la memoria
Permite establecer condiciones en los archivos Autoexec.bat y Config.sys
Soporta unidades de CdROM
Permite compresión del disco duro
Etc..
Mejoras en seguridad vinculadas básicamente a la compresión del disco duro
1.2 Tareas básicas del sistema operativo. Particularidades en MsDOS
Dado que el ordenador es una máquina de proceso de información, el sistema operativo ha de
facilitarnos el almacenamiento y acceso a esa información. Surgen así los conceptos de archivo ( o fichero
) y directorio.
Un archivo es, como sabemos, un conjunto de información ( datos o programa ) almacenada en
un dispositivo, por ejemplo disco. En MsDOS hay conceptualmente tres tipos importantes de archivos: de
texto ( archivos de texto ) , archivos de programa que forman parte del sistema operativo ( programas del
sistema, órdenes , comandos ) y archivos de programas del usuario o de casas comerciales ( programas ).
Los archivos son almacenados bajo un nombre de archivo que en MsDOS puede tener hasta ocho
caracteres de largo y puede utilizarse cualquier combinación de letras o de números, pero conviene dar a
un archivo un nombre descriptivo que le recuerde su contenido. Estos caracteres no pueden ser utilizados:
."/\[]:|<>+=;,
Para identificar aún mejor un archivo, se le puede agregar un sufijo de hasta tres caracteres
denominado una extensión, precedida por un punto. Por facilidad de agrupación de los distintos archivos,
MsDOS provee ( desde la versión 2.0, 1983 ) la posibilidad de seccionar el disco en directorios de
estructura jerárquica. Un directorio es una zona de trabajo del disco. El disco al completo es una zona que
se identifica con el símbolo \ y que puede contener archivos y subdirectorios. Cada subdirectorio a su vez
puede contener también archivos y subdirectorios. Un directorio contiene adicionalmente el nombre de
sus archivos, su tamaño y las fechas en que fueron creados o modificados por última vez ( información
que MsDOS muestra como respuesta al comando Dir ) . Si usted agrega, modifica o elimina un archivo,
MsDOS actualiza el directorio. Siempre que esté presente el símbolo de MsDOS, usted puede indicar que
desea ver el directorio ( con Dir ).
Desde la perspectiva de la organización de la información en archivos y directorios,
recapitulamos acerca de las funciones del sistema operativo MsDOS.
1 Personalización del sistema
En primer lugar el sistema operativo se ocupa de la configuración del sistema. Esto abarca, por
ejemplo, la adaptación inicial a las particularidades del país correspondiente ( COUNTRY ), así
como también al formato del indicador del sistema ( PROMPT ) o la definición de la cantidad
máxima de archivos que pueden ser abiertos simultáneamente ( FILES ).
2 Preparación de soportes
Un papel muy importante lo tiene el trabajo de conjunto con diferentes soportes de datos. Esto
se hace evidente ya en el nombre del sistema operativo: DOS ( Disk Operating System ). Eso
incluye la preparación de los soportes de datos ( FORMAT ), el mostrar su contenido ( DIR ),
etc..
3 Manejo de directorios
Un papel entre soportes de datos y archivos lo asumen los directorios, que facilitan la visión y
la manipulación en grandes soportes de datos. A través del sistema operativo se crean y
eliminan directorios ( MD, RD ). También es importante el cambio entre directorios ( CD ) así
como mostrar el contenido correspondiente ( DIR ).
4 Manejo de archivos
En el trabajo diario, el usuario se interesa fundamentalmente por los archivos que contienen,
como norma, el resultado de su trabajo. Por medio del sistema operativo los archivos se crean (
EDIT ) , se copian ( COPY.. ) , se les cambia el nombre ( RENAME ) , se borran ( DEL ) , etc..
5 Manejo de programas ejecutables
Un carácter particular tienen los archivos que representan programas ejecutables. El sistema
operativo se ocupa de que puedan ser localizados ( DIR, CD ), iniciados ( el comando es el
propio nombre del archivo ) y terminados, y que finalmente el sistema operativo vuelva a estar
disponible para otras operaciones.
1.3 La estructura interna del DOS
DOS comprende diferentes componentes, que son responsables de determinadas áreas
funcionales . Las tres partes más importantes son
La BIOS del DOS ( no confundir con la BIOS ROM )
El núcleo del DOS
El procesador de comandos
Estas partes se encuentran separadas físicamente, es decir, se encuentran en archivos físicos
diferentes.
La BIOS del DOS ( Archivo IO.SYS )
La BIOS ( Basic Input Output System ) se encuentra en un archivo que en el DOS de IBM se
llama IBMIO.SYS, y que en MsDOS se llama IO.SYS. Este archivo se encuentra en todos los Pcs como
primer archivo en el directorio raíz del disco de arranque y está equipada con los atributos de archivo
Hidden, System y Read-Only. Contiene los controladores para los siguientes dispositivos:
Palabra clave
CON
PRN
AUX
NUL
$CLOCK
DISK
Dispositivo
Teclado y pantalla
Impresora
Puerto serie
Dispositivo ficticio
Reloj
Disquete y disco duro, siempre y cuando no necesiten un
controlador propio
Cuando el DOS quiere comunicar con uno de estos dispositivos, utiliza los controladores de
dispositivos ( obviamente rutinas ) contenidos en este módulo, que a su vez emplean las rutinas de la
ROM BIOS. Dado que sólo la BIOS del DOS entra en contacto con el hardware ( y eso sólo a través de la
ROM BIOS ) es, aparte de los controladores de dispositivos instalables del archivo CONFIG.SYS, el
componente más dependiente del hardware del sistema operativo.
Cuando el DOS ( el núcleo del DOS ) quiere comunicar con uno de estos dispositivos, utiliza
controladores de dispositivos contenidos en este módulo.
El núcleo del DOS ( o Kernel. MSDOS.SYS )
Lo constituye el archivo MsDOS.SYS, situado en el directorio raíz tras IO.SYS. También goza
de los atributos Hidden, System y Read-Only. Se encuentran aquí las funciones del DOS-API ( API:
Aplicattion Program Interface ) que se pueden alcanzar a través de la interrupción 21H y lo concerniente a
gestión interna. Para el acceso a dispositivos de E/S se usan los controladores de IO.SYS. ( Luego
MsDOS.SYS no se ha de adaptar a los distintos hardwares de ordenadores diferentes ).
El Procesador de comandos ( o Intérprete de comandos. COMMAND.COM )
El archivo COMMAND.COM es el encargado de mostrar el símbolo del sistema y acepta
(procesa) órdenes introducidas por teclado. Representa el único componente visible por defecto del DOS.
El procesador de comandos acepta tres tipos de órdenes:
1 Comandos internos como Dir, Copy, etc..
2 Programas .EXE y .COM
Del sistema ( Comandos externos ) como Diskcopy, etc..
Comerciales y de usuario ( Llamados simplemente Programas )
3 Archivos .BAT ( Archivos de texto cuyas líneas son órdenes ejecutables )
1.4 El arranque de MsDOS
El juego entre la BIOS ROM, el Kernel y el procesador de comandos naturalmente presupone
que estos programas se encuentran en memoria. Pero para ello primero se han de cargar y anclar allí. Esto
ocurre durante el proceso de arranque.
La BIOS ROM busca en el sector de arranque ( del disquete o del disco duro ) los ficheros
IO.SYS y a continuación MsDOS.SYS; los carga en memoria y la propia ROM BIOS se carga también al
final de la memoria RAM desde donde controla la subsiguiente inicialización del sistema.
Tras esto, todas las funciones del API de DOS están disponibles y por ello se puede comenzar
ahora con la búsqueda del archivo CONFIG.SYS. Si se encuentra este archivo se carga y evalúan sus
entradas; de esta forma el sistema se configura y se equipa con otros controladores de dispositivos que se
unen a los controladores de dispositivos de DOS. Como último paso se carga finalmente el procesador de
comandos y se transfiere el control a él para todos los demás sucesos. Con ello el proceso de arranque ha
finalizado y la rutina de inicialización se queda en memoria como basura de datos hasta que algún
programa la sobrescriba. Adicionalmente, si existe el fichero AUTOEXEC.BAT se carga e inicia su
ejecución.
IN IC IO
A rra n q u e d e l
S iste m a
R O M e je c u ta
ru tin a s d e c h e q u e o
R O M le e c a rga d o r
d e l d isc o IP L e n
se c to r d e a rra n q u e
C a rga d e IO .S Y S
C a rga d e
M S D O S .S Y S
B ú sq u e d a d e
C O N F IG .S Y S
E xiste
C o n figu ra e l
C O N F IG .S Y S
S iste m a
C a rga d e
C O M M A N D .C O M
B ú sq u e d a d e
A U T O E X E C .B A T
E xiste
E je c u ta
A U T O E X E C .B A T
A U T O E X E C .B A T
C O M M A N D .C O M
p id e fe c h a y h o ra
F IN
S ím b o lo d e l siste m a
2. Primeros comandos
2.1 DATE
Muestra la fecha y solicita que la cambie si fuera necesario.
MS-DOS registrará la fecha actual para cada archivo que cree o cambie.
Sintaxis
DATE [dd-mm-aa]
Parámetro
dd-mm-aa
Establece la fecha especificada. Los valores para el día, mes y año deben estar separados por
puntos (.), guiones (-) o barras diagonales (/). El formato de la fecha dependerá del valor especificado
para COUNTRY que se esté usando en el archivo CONFIG.SYS. La siguiente lista muestra los valores
válidos para el día, mes y año del parámetro dd-mm-aa.
dd
1 a 31
mm
1 a 12
aa
80 a 99
ó
1980 a 2099
2.2 TIME
Presenta la hora del sistema o ajusta el reloj interno del PC.
Sintaxis
TIME [horas[:minutos[:segundos[.centésimas]]][A|P]]
Parámetros
horas
Especifica la hora. Los valores válidos deben estar entre 0 y 23.
minutos
Especifica los minutos. Los valores válidos deben estar entre 0 y 59.
segundos
Especifica los segundos. Los valores válidos deben estar entre 0 y 59.
centésimas
Especifica centésimas de segundo. Los valores válidos deben estar entre 0 y 99.
A|P
Especifica A.M o P.M. para el formato de 12 horas. Si introduce una hora válida usando dicho
formato pero no especifica A o P, TIME utilizará A (A.M.).
2.3 VER
Presenta el número de la versión de MS-DOS.
Sintaxis
VER
Cada versión se identifica con un número,. y sus posteriores revisiones con uno o dos dígitos, así
MS-DOS 6.20 será la versión sexta segunda revisión.
2.4 CLS
Despeja la pantalla.
La pantalla mostrará entonces solamente el símbolo del sistema y el cursor.
Sintaxis
CLS
2.5 PROMPT
Cambia la apariencia del símbolo del sistema de MS-DOS.
Sintaxis
PROMPT [texto][valor]
Parámetro
texto
Especifica cualquier texto e información que desee incluir en su símbolo del sistema.
valor
Es la serie de caracteres que determina la información que aparecerá en el indicador del sistema
según las variables mostradas en la siguiente tabla.
Valor
$Q
$$
$T
$D
$P
$V
$N
Significado
= Signo igual
$ Símbolo de moneda
Hora actual
Fecha actual
Unidad de disco y ruta actuales
Número de versión de MS-DOS
Unidad actual
Valor
$G
$L
$B
$_
$E
$H
Significado
> Signo mayor que
< Signo menor que
| Símbolo de canalización
ENTRAR-AVANCE LÍNEA
Código de escape ASCII
Borra el último carácter escrito
Definición del símbolo del sistema de MS-DOS en Windows
Si utiliza Microsoft Windows 3.1, podrá cambiar el símbolo del sistema utilizando la variable de
entorno WINPMT.
Por ejemplo, supongamos que desee que el siguiente mensaje aparezca antes del símbolo del
sistema de MS-DOS:
Escriba "exit" cuando desee volver a Windows.
Para presentar dicho mensaje, incluya el siguiente comando en su archivo AUTOEXEC.BAT:
set winpmt=Escriba "exit" cuando desee volver a Windows.$_$p$g
2.6 PRÁCTICAS 2
 Ajustar la fecha y hora actual
 Cambiar el indicador del sistema para que muestre vuestro nombre y la ruta activa. “Jaime|c:\>“
3. Mantenimiento de disco
Para poder almacenar información, los discos deben tener una estructura adecuada. La estructura
informática capaz de almacenar los datos está compuesta por: Sector de arranque, FAT, Directorio raíz y
espacio para los ficheros. Esta estructura se consigue con el:
3.1 FORMAT (Dar formato)
Da formato a un disco para su uso con MS-DOS.
El comando FORMAT crea un nuevo directorio raíz y una tabla de asignación de archivos para
el disco. También puede verificar si hay sectores defectuosos en el disco y eliminar toda la información
del disco. Para que MS-DOS pueda usar un nuevo disco, primero debe utilizar este comando para darle
formato.
No deberá usar el comando FORMAT en una unidad preparada utilizando el comando SUBST.
No se puede dar formato a discos a través de una red o una unidad Interlnk.
Sintaxis
FORMAT unidad: [/V[:etiqueta]] [/Q] [/U] [/F:tamaño][/S] [/C]
FORMAT unidad: [/V[:etiqueta]] [/Q] [/U] [/T:pistas /N:sectores] [/S] [/C]
Advertencia: No dé formato a un disquete especificando un tamaño distinto del que realmente posee.
Parámetro
unidad:
Especifica la unidad que contiene el disco al que se dará formato.
Modificadores
Si no especifica alguno de los siguientes modificadores FORMAT se basará en el tipo de unidad
para determinar el formato que será dado al disco.
/V:etiqueta
Especifica la etiqueta del volumen. La etiqueta del volumen sirve para identificar al disco y
puede tener un máximo de 11 caracteres.
Si se omite el modificador /V o si se utiliza sin especificar una etiqueta de volumen, MS-DOS le
pedirá que indique la etiqueta del volumen una vez finalizado el formato del disco. Si se da formato a más
de un disco con el mismo comando FORMAT, todos los discos recibirán la misma etiqueta del volumen.
El modificador /V no es compatible con el modificador /8.
/Q
Especifica un formato rápido de un disco. Con este modificador, FORMAT elimina la tabla de
asignación de archivos (FAT) y el directorio raíz de un disco al que se haya dado formato previamente
pero no busca sectores defectuosos en el disco. El modificador /Q solo se debe usar para volver a dar
formato a discos que estén en buena condición.
/U
Especifica un formato incondicional para un disco. Este formato incondicional destruye toda la
información existente en un disco e impide que se pueda "reconstruir" el disco posteriormente.
/F:tamaño
Especifica el tamaño del disquete al que se dará formato. Siempre que sea posible, utilice este
modificador en lugar de los modificadores /T y /N. Use uno de los siguientes valores para tamaño:
160 ó 160k o 160kb. Disquete de 5,25 pulgadas de 160 K, de doble densidad y de una sola cara
180 ó180k o 180kb. Disquete de 5,25 pulgadas de 180K, de doble densidad y de una sola cara
320 ó 320k o 320kb. Disquete de 5,25 pulgadas de 320K, de doble densidad y de dos caras
360 ó 360k o 360kb. Disquete de 5,25 pulgadas de 360K, de doble densidad y de dos caras
720 ó 720k o 720kb. Disquete de 5,25 pulgadas de 720K, de doble densidad y de dos caras
1200 ó 1200k o 1200kb o 1,2 ó 1,2m o 1,2mb. Disquete de 5,25 pulgadas de 1,2MB, de alta
densidad y de dos caras
1440 ó 1440k o 1440kb o 1,44 ó 1,44m o 1,44mb. Disquete de 3,5 pulgadas de 1,44MB, de alta
densidad y de dos caras
2880 ó 2880k o 2880kb o 2.88 ó 2.88m o 2.88mb. Disquete de 3,5 pulgadas de 2.88MB, de super
alta densidad y de dos caras
/S
Copia los archivos del sistema operativo IO.SYS, MSDOS.SYS y COMMAND.COM e la unidad
de inicio del sistema a un disco al que se acaba de dar formato que se pueda utilizar como el disco de
sistema. Si FORMAT no puede encontrar los archivos del sistema operativo, le pedirá que inserte el
disquete de sistema.
/T:pistas
Especifica el número de pistas en el disco. Si usa el modificador /T, también deberá usar el
modificador /N. No se puede usar el modificador /F con el modificador /T. Puede ser 80
/N:sectores
Especifica el número de sectores por pista. Si utiliza el modificador /N, también deberá usar el
modificador /T. No se puede usar el modificador /F con el modificador /N. Puede ser 18 ó 9
/C
Comprueba los grupos dañados. Por defecto, si una unidad contiene grupos que han sido
marcados como "defectuosos", FORMAT no vuelve a comprobar los grupos, sino que los deja marcados
"defectuosos". Utilice el modificador /C si desea que FORMAT vuelva a comprobar los grupos
defectuosos de las unidades. (En las versiones anteriores de MS-DOS, FORMAT siempre comprobaba los
grupos dañados).
Mensajes del comando FORMAT
Una vez concluido el proceso de formato, MS-DOS presentará un mensaje indicando la cantidad
total de espacio en el disco, cualquier espacio marcado como defectuosos, el espacio total que ha utilizado
el sistema operativo (si usó el modificador /S ) y el espacio disponible para sus archivos.
Códigos de salida de FORMAT
La siguiente lista muestra los códigos de salida y una breve descripción de su significado:
0 El proceso de formato se realizó con 3 El usuario presionó las teclas CTRL+C o CTRL+INTER
éxito.
para detener el proceso.
4 Se produjo un error grave (cualquier 5 El usuario presionó N en respuesta a la pregunta
error distinto de 0, 3 ó 5).
"Continuar con el formato (S/N)?" para detener el proceso
3.2 Estructura arborescente del MS-DOS
Esta estructura cuenta como pilares fundamentales con: las unidades, los directorios , los
subdirectorios y los ficheros.
La unidad son las raíces, el directorio principal o raíz es el tronco, los subdirectorios las ramas y
los ficheros las hojas.
3.2.1 El almacenamiento
Se realiza escribiendo los datos en los clusters2. el fichero se va grabando en ellos sin necesidad
de que sean contiguos. Cada cluster que se usa queda registrado en una zona del disco denominada FAT
(File Allocation Table, tabla de localización de ficheros).
3.2.2 Unidades de disco
Las unidades de disco son dispositivos de almacenamiento de información.
Unidad física. Es cada una de las unidades presentes en la composición de un ordenador.
Unidades lógicas. Es la representación que MS-DOS realiza de una unidad física. A cada unidad
física le corresponde una o más unidades lógicas.
Unidad activa. Es aquella sobre la que se está situado en el momento de ejecutar un mandato.
3.2.3 Directorios
Los directorios son una zona del disco en donde se organiza el almacenamiento de los ficheros.
Un directorio se identifica por un nombre y tiene asociadas una fecha y una hora. El nombre de
un directorio se forma con ocho caracteres como máximo seguido de un punto y una expresión de tres
caracteres.
Por costumbre no ponemos extensión a los directorios. La fecha y la hora son los de su creación.
Los conceptos dentro de los directorios son:
 Directorio raíz. Es el directorio principal del disco. Se crea al dar formato al disco. Se identifica con
“\”.
 Subdirectorio. Es un directorio dentro de otro.
 Directorio activo. Es el directorio en el cual nos encontramos. Si no decimos nada es sobre el que se
ejecutan los comandos.
 Trayectoria o Ruta. Es el nombre que designa la posición de un fichero o directorio en una unidad.
La ruta consta de tres partes:
- Nombre de unidad.
- Cadena de directorios separados por “\”.
- Nombre del fichero completo.
3.2.4 MD o MKDIR (Crear directorio)
Crea un directorio
El comando MKDIR o MD se puede usar para crear una estructura de directorios de varios
niveles.
Sintaxis
MKDIR [unidad:]ruta
2
Conjunto de uno (diskette una cara) o dos sectores (diskette dos caras) contiguos. Es la unidad mínima de
almacenamiento para MS-DOS.
MD [unidad:]ruta
Parámetros
unidad:
Especifica la unidad en la que ser creado el nuevo directorio.
ruta
Especifica el nombre y ubicación del nuevo directorio. La longitud máxima de una sola ruta de
acceso desde el directorio raíz hasta el directorio nuevo es de 63 caracteres, incluyendo las barras inversas
(\).
Al crear un directorio MS-DOS crea dos referencias que se corresponden con los símbolos de un
punto “.” y dos puntos consecutivos “..”. El símbolo de un punto hace referencia al directorio activo. Los
dos puntos consecutivos hacen referencia al directorio padre.
3.2.5 CD o CHDIR (Cambia de directorio activo)
Presenta el nombre del directorio actual o cambia el directorio actual.
Sintaxis
CHDIR [unidad:][ruta]
o
CHDIR o
( presenta la unidad y ruta actuales)
CD
CD [unidad:][ruta]
Parámetros
[unidad:][ruta]
Especifica la unidad de disco y el directorio al que se desee cambiar.
3.2.6 RD o RMDIR (Eliminar directorio)
Elimina un directorio.
Para borrar un directorio se han de tener en cuenta las siguientes condiciones:
 El directorio a borrar ha de estar vacío, no debe contener ningún fichero, a excepción de los símbolos
"." y "..".
 El directorio a borrar no puede incluir otros directorios.
 Para borrar un directorio se debe estar fuera de él. RD no puede borrar el directorio activo.
 RD no puede borrar el directorio raíz.
Sintaxis
RMDIR [unidad:]ruta
RD [unidad:]ruta
Parámetro
[unidad:]ruta
Especifica la posición y el nombre del directorio que desea eliminar.
3.2.7 TREE (Árbol)
Presenta en forma gráfica la estructura de directorios de una ruta de acceso o del disquete en una
unidad de disco.
Sintaxis
TREE [unidad:][ruta] [/F] [/A]
Parámetros
unidad:
Especifica la unidad que contiene el disquete cuya estructura de directorios desee presentar.
ruta
Especifica el directorio cuya estructura de directorios desee presentar.
Modificadores
/F
Presenta los nombres de los archivos que contiene cada directorio.
/A
Indica al comando TREE que utilice caracteres de texto en lugar de caracteres gráficos para
mostrar las líneas que vinculan los subdirectorios. Utilice este modificador con tablas de códigos que no
reconozcan caracteres gráficos y para enviar información a impresoras que no los puedan interpretar
adecuadamente.
3.3 Comodines
Antes de continuar tenemos que conocer los comodines. Un comodín es un carácter especial que
puede coger cualquier valor. Los comodines de MS-DOS son:
* Sustituye cualquier cadena de caracteres.
? Sustituye cualquier carácter.
3.4 Manejo de fichero
3.4.1 DELTREE
Elimina un directorio y todos los archivos y subdirectorios que contiene, independientemente del
atributo que tengan.
Sintaxis
DELTREE [/Y] [unidad:]ruta
Parámetro
unidad:ruta
Especifica el nombre del directorio que desea eliminar. El comando DELTREE eliminar todos
los archivos que contenga el directorio especificado, así como los subdirectorios y archivos en los
subdirectorios secundarios de este directorio.
Modificador
/Y
Ejecuta el comando DELTREE sin pedir primero que se confirme la eliminación.
Usar comodines con DELTREE
Puede usar comodines con el comando DELTREE, pero úselos con muchísimo cuidado. Si
especifica un comodín que coincida con los nombres de directorios y los nombres de archivos, se
eliminarán los archivos y los directorios.
3.4.2 DIR
Presenta una lista de los archivos y subdirectorios que se encuentren en el directorio que
especifique.
Sintaxis
DIR [unidad:][ruta][nombrearchivo] [/P] [/W]
[/A[[:]indicadores]][/O[[:]orden-de-clasificación]] [/S] [/B] [/L] [/C]
Parámetros
[unidad:][ruta]
Especifica la unidad y el directorio cuya información desee presentar.
[nombrearchivo]
Especifica un archivo específico o grupo de archivos cuya información desee presentar.
Modificadores
/P
Presenta una pantalla de información por vez. Para ver la pantalla siguiente, presione cualquier
tecla.
/W
Presenta la información con formato ancho, mostrando hasta cinco nombres de archivos o
directorios por línea.
/A[[:]indicadores]
Presenta sólo los nombres de los directorios y archivos que tengan los indicadores especificados.
Si se utiliza este modificador sin especificar indicadores, DIR presentar los nombres de todos los
archivos, incluyendo los de sistema y los ocultos. El uso de los dos puntos (:) es optativo. Podrá utilizar
cualquier combinación de los siguientes valores, sin separarlos con espacios.
H
S
D
A
R
Archivos ocultos
Archivos de sistema
Directorios
Archivos con indicador de
lectura/escritura
Archivos de sólo-lectura
-H
-S
-D
-A
-R
Archivos no ocultos
Archivos distintos de los de sistema
Archivos sólamente (sin los directorios)
Archivos que no hayan sido modificados
desde la última copia de seguridad
Archivos que no sean de sólo-lectura
/O[[:] orden de clasificación]
Controla el orden en que DIR clasifica y presenta los nombres de los directorios y archivos. Si se
omite este modificador, DIR presentar los nombres en el orden en que se encuentren en el directorio. Si
se utiliza este modificador sin especificar el orden de clasificación, DIR presentar los nombres de los
directorios en orden alfabético y luego presentar los nombres de los archivos en orden alfabético. Los dos
puntos (:) son optativos. La siguiente lista describe cada uno de los valores que se pueden usar para orden
de clasificación.
Utilice cualquier combinación de los siguientes valores sin separarlos con espacios.
N
Orden alfabético por nombre.
-N
En orden alfabético inverso (Z a A) por
E
En orden alfabético por extensión.
D
Por fecha y hora, comenzando por el -D
más antiguo.
Por tamaño, el más corto primero.
-S
nombre.
Orden alfabético inverso (Z a A) por
extensión.
Por fecha y hora, comenzando por el
más reciente.
Por tamaño, el más extenso primero.
Con directorios agrupados antes de los -G
archivos.
Por razón de compresión, comenzando -C
con el más bajo.
Con directorios agrupados después de
los archivos.
Por razón de compresión, comenzando
con el más alto.
S
G
C
-E
/S
Realiza una búsqueda del fichero especificado a través de los subdirectorios del directorio activo,
mostrándose las localizaciones encontradas.
/B
Presenta cada nombre de directorio o archivo, uno por línea. Este modificador no presenta títulos
o resumen de información. El modificador /B anula al modificador /W.
/L
Presenta los nombres de los directorios y archivos en letras minúsculas y sin clasificar. Este
modificador no convierte los caracteres extendidos en minúsculas.
/C[H]
Muestra la razón de compresión de archivos que se comprimieron usando Doublespace, basado
en un tamaño de grupo de 8K. El modificador H opcional muestra la razón de compresión de archivos que
se comprimieron usando Doublespace, basado en el tamaño de grupo de la unidad principal.
El modificador /C[H] es ignorado cuando se usa con el modificador /W o /B.
Uso de comodines
Podrá utilizar los comodines (* y ?) para presentar una lista del subgrupo de archivos y
subdirectorios.
Orden de clasificación de archivos
Si especifica un valor para orden de clasificación, DIR clasificar los archivos según el primer
criterio, luego según el segundo criterio y así sucesivamente.
Preestablecimiento de los parámetros y modificadores de DIR
Es posible establecer de antemano los parámetros y modificadores para el comando DIR
incluyendo el comando Set con la variable de ambiente DIRCMD en el archivo AUTOEXEC.BAT. Se
puede utilizar cualquier combinación válida de parámetros y modificadores de DIR con el comando SET
DIRCMD, incluyendo la posición y el nombre de un archivo.
Ejemplo:
set dircmd=/w
Podrá anular un modificador establecido mediante la variable de ambiente DIRCMD. Para ello,
utilice el mismo modificador en la línea de comandos DIR, precediéndolo de un signo menos (-), como en
el siguiente ejemplo:
dir /-w
Podrá ajustar las opciones predeterminadas de DIRCMD introduciendo el comando SET a
continuación del símbolo del sistema con un nuevo parámetro o modificador después del signo igual (=).
Para borrar todas las opciones predeterminadas, escriba el comando siguiente:
set dircmd=
3.4.3 COPY
Copia uno o más archivos en el lugar que especifique.
También se puede utilizar para combinar archivos. Y también para crear archivos.
Sintaxis
COPY [/Y|/-Y] [/A|/B] origen [/A|/B] [+ origen [/A|/B] [+ ...]][destino [/A|/B]] [/V]
Para crear archivos.
COPY CON [unidad:][ruta]
Parámetros
origen
Especifica la posición y el nombre del archivo o los archivos que serán copiados.
destino
Especifica la posición y el nombre del archivo o grupo de archivos en los que serán colocadas las
copias.
Modificadores
/Y
Indica que se desea que COPY sustituya el/los archivo(s) existente(s) sin pedir confirmación.
Esté predeterminado que si se especifica un archivo existente como archivo destino, COPY preguntará si
desea sobreescribir el archivo existente. Si el comando COPY es parte de un archivo de procesamiento
por lotes, COPY se comportará como en las versiones anteriores (sustituye el archivo sin confirmación).
Al especificar este modificador se ignoran todos los parámetros predeterminados y el valor actual de la
variable de entorno COPYCMD.
/-Y
Indica que se desea que COPY pida confirmación al sustituir un archivo existente. Al especificar
este modificador se ignoran todos los parámetros predeterminados y el valor actual de la variable de
entorno COPYCMD.
/A
Indica un archivo de texto ASCII. Cuando el modificador /A preceda a una lista de nombres de
archivos en la línea de comandos, se aplicará a todos los archivos cuyos nombres estén después del
modificador, hasta que el comando COPY encuentre un modificador /B. Este se aplicará al archivo que
preceda al modificador /B.
Cuando el modificador /A esté situado después de un nombre de archivo, se aplicará al archivo
cuyo nombre preceda al modificador /A y a todos los archivos cuyos nombres le sigan, hasta que COPY
encuentre un modificador /B. En dicho caso, se aplicará el modificador /B al archivo que le preceda.
Los archivos de texto ASCII pueden utilizar un carácter de fin de archivo (CTRL+Z) para indicar
el final del archivo. Cuando se combinen archivos, COPY considerará de forma predeterminada que son
archivos de texto ASCII.
/B
Indica un archivo binario. Cuando el modificador /B preceda a una lista de nombres de archivos
en la línea de comandos, se aplicará a todos los archivos cuyos nombres aparezcan después del
modificador /B, hasta que el comando COPY encuentre un modificador /A. Este se aplicará al archivo que
le preceda.
El modificador /B indica al intérprete de comandos que lea el número de bytes especificado por
el tamaño de archivo en el directorio. El modificador /B es el predeterminado para el comando COPY, a
menos que COPY esté combinando archivos.
/V
Verifica que los nuevos archivos sean escritos correctamente.
Crear un archivo
Para crear un fichero con COPY CON se deben seguir los siguientes pasos:
 Teclear COPY CON seguido del nombre del fichero que queremos crear y pulsar <Intro>. En pantalla
aparecerá el cursor parpadeante en la línea siguiente, indicando que todo lo tecleado a partir de ahora
se incluirá en el fichero.
 Para avanzar una línea pulse <Intro>.
 Incluir tantas líneas como se desee, terminando la introducción de cada una de ellas con <Intro>.
 Para finalizar la creación del fichero se pulsa <F6> o la secuencia de teclas <Ctrl> + <Z> finalizando
con <Intro>.
Configuración de la variable de entorno COPYCMD
Se puede configurar la variable de entorno COPYCMD para especificar si se desea que los
comandos COPY, MOVE y XCOPY soliciten confirmación antes de sobreescribir un archivo, tanto si se
ejecutan desde el símbolo del sistema como desde un archivo de procesamiento por lotes.
Uso u omisión del modificador /B al copiar a un dispositivo
Si destino es un dispositivo (por ejemplo, COM1 o LPT1), el modificador /B hará que MS-DOS
copie datos al dispositivo en modo binario. En este modo, todos los caracteres (incluyendo caracteres
especiales como CTRL+C, CTRL+S, CTRL+Z y retornos de carro) serán copiados al dispositivo en
forma de datos.
Si se omite el modificador /B, MS-DOS copiará los datos al dispositivo en modo ASCII. En ese
modo, los caracteres especiales, como los mencionados, podrán dar lugar a que MS-DOS ejecute acciones
especiales durante el proceso de copia.
Uso de los modificadores /A y /B
El efecto que tendrá el modificador /A o /B dependerá de su posición en la línea de comandos.
Cuando los modificadores /A o /B estén después del nombre de archivo origen, COPY
funcionará como se indica en la lista siguiente:
/A
Considera el archivo como archivo de texto ASCII y copia los datos que preceden al primer
carácter de fin de archivo. COPY no copia el primer carácter de fin de archivo ni el resto del archivo.
/B
Copia el archivo completo, incluyendo cualquier carácter de fin de archivo.
Cuando los modificadores /A o /B estén después del nombre del archivo de destino, COPY
funcionará como se indica en la siguiente lista:
/A
Agregará un carácter de fin de archivo como último carácter del archivo.
/B
No agregará un carácter de fin de archivo.
Combinación de archivos con el comando COPY
Si especifica más de un origen, separados por signos más (+), COPY combinará los archivos,
creando un solo archivo. Si utiliza comodines en el origen pero especifica un solo nombre de archivo
como destino, COPY combinará todos los archivos que coincidan con el origen y creará un solo archivo
con el nombre especificado por el destino.
En ambos casos, COPY supondrá que los archivos combinados son archivos de texto ASCII, a
menos que se especifique el modificador /B. (Evite combinar archivos que no sean de texto ASCII sin
especificar el modificador /B, ya que podría resultar en archivos truncados, debido a que la mayoría de los
archivos binarios contienen caracteres CTRL+Z, que hacen que COPY reaccione como si hubiera llegado
al final del archivo).
Si el nombre del archivo de destino es el mismo que uno de los archivos copiados, (excepto el
primero), el contenido original del archivo de destino se perderá. Cuando suceda esto, COPY presentará
el siguiente mensaje:
Se perdió el contenido del archivo destino antes de copiar
Copiar archivos de longitud 0
COPY no copiará archivos que tengan 0 bytes de longitud.
Cambio de la hora y la fecha de creación de un archivo
Si desea asignar la hora y fecha actuales a un archivo sin modificar el archivo en sí, utilice un
comando con el formato siguiente. Las comas indican la omisión del parámetro destino.
copy /b origen+,,
ADVERTENCIA: Al combinar archivos binarios, es posible que el archivo resultante sea inútil debido a
formatos internos.
3.4.4 DEL o ERASE (Eliminar)
Elimina los archivos que especifique.
Sintaxis
DEL [unidad:][ruta]nombrearchivo [/P]
ERASE [unidad:][ruta]nombrearchivo [/P]
Parámetro
[unidad:][ruta]nombrearchivo
Especifica la posición del archivo o grupo de archivos que serán eliminados.
Modificador
/P
Se presentará un mensaje de confirmación antes de eliminar el archivo especificado.
Eliminación de más de un archivo simultáneamente
Podrá eliminar todos los archivos de un directorio escribiendo el comando DEL seguido de
[unidad:]ruta. También podrá utilizar los comodines (* y ?) para eliminar más de un archivo a la vez.
3.4.5 XCOPY (Copiar archivos y directorios)
Copia archivos (excepto los ocultos y de sistema) y directorios, incluyendo los subdirectorios.
Sintaxis
XCOPY origen [destino] [/A|/M] [/D:fecha] [/P] [/S[/E]] [/V] [/W]
Parámetros
origen
Especifica la posición y los nombres de los archivos que se copiarán. Origen deberá incluir ya
sea una unidad o una ruta de acceso.
destino
Especifica el destino para los archivos que se copiarán. Destino podrá incluir una letra de unidad
y dos puntos, un nombre de directorio, un nombre de archivo o una combinación de éstos.
Modificadores
/A
Copia sólo los archivos de origen que tengan establecidos indicadores de lectura/escritura. Este
modificador no cambiará el indicador de lectura/escritura de origen.
/M
Copia los archivos de origen que tengan establecidos indicadores de lectura/escritura. A
diferencia del modificador /A, el modificador /M desactivará los indicadores de lectura/escritura en los
archivos especificados en origen.
/D:fecha
Copia sólo archivos de origen que hayan sido modificados en o después de la fecha especificada.
/P
Solicita que confirme si desea crear cada archivo de destino.
/S
Copia directorios y subdirectorios, a menos que estén vacíos. Si se omite dicho modificador,
XCOPY funcionará dentro de un solo directorio.
/E
Copia cualquier subdirectorio, aun cuando esté vacío. Deberá utilizar el modificador /S con este
modificador.
/V
Comprueba cada archivo al escribirlo en el archivo de destino a fin de asegurarse de que los
archivos de destino y de origen sean idénticos.
/W
Presenta el siguiente mensaje y efectúa una pausa en espera de su respuesta antes de comenzar a
copiar archivos:
Presione cualquier tecla para comenzar a copiar archivo(s).
Especificar si destino es un archivo o un directorio
Si destino no contiene un directorio existente, y no termina con una barra inversa (\), XCOPY
presentará un mensaje con el siguiente formato:
¿Especifica destino un nombre de archivo o de directorio de destino
(A = Archivo, D = Directorio)?
Presione A si desea que los archivos se copien a un archivo. Presione D si desea que los archivos
se copien a un directorio.
XCOPY establece el indicador de lectura/escritura para archivos de destino
XCOPY crea archivos con el indicador de lectura/escritura, aunque dicho indicador no se haya
asignado a los archivos de origen.
Códigos de salida de XCOPY
La lista siguiente indica los códigos de salida producidos por el comando xcopy.
0 Los archivos fueron copiados sin error.
1 No se encontraron archivos para copiar.
2 El usuario presionó CTRL+C para suspender el 4 Ocurrió un error de inicio. No hay suficiente
proceso de XCOPY.
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 comandos.
5 Ocurrió un error de escritura de disco.
3.4.6 TYPE (Escribir)
Presenta el contenido de un archivo de texto.
Sintaxis
TYPE [unidad:][ruta]nombrearchivo
Parámetro
[unidad:][ruta]nombrearchivo
Especifica la posición y el nombre del archivo que desea presentar en pantalla.
Ejemplos
Si desea presentar el contenido de un archivo denominado PLAYA.MAR, introduzca el siguiente
comando:
type playa.mar
3.5 PRÁCTICAS 3
1.-) Verifique que su disquete no está protegido contra escritura, y formatee su disquete. Ponga como
etiqueta del disquete su nombre.
2.-) Pruebe y comente las siguientes líneas de comando.
a)
b)
c)
d)
e)
c:\>format a: /f:720
c:\>format a: /s /q
c:\>format a:/u/c
c:\>format a: /t:80 /n:9
c:\>format a:/t:80 /n:18 /f:720
3.-) Verifique que la hora y la fecha de su ordenador es correcta.
4.-) Modifique el prompt de su ordenador al siguiente formato:
iniciales
ruta>
a partir de este punto si no se dice nada nos referimos a la unidad a:
5.-) Nos encontramos en la unidad c: directorio raíz.
Estando en este punto crear un directorio en la unidad a: directorio raíz denominado “dir1”
Desde c:\ crear un directorio dentro de dir1 con el nombre “dir12”
Nos cambiamos a la unidad a: directorio dir12
Desde ese punto crear un directorio en el directorio padre con el nombre “dir11”, sin poner el
nombre del directorio padre
6.-) Crear un fichero con el nombre de “texto1.txt” en el directorio raíz.
7.-)Desde la unidad a: directorio raíz, copiar el fichero texto1.txt a dir12.
Desde el mismo punto copiar texto1.txt a dir12 cambiando el fichero de nombre.
Desde dir12 copiar texto1.txt del directorio raíz al directorio dir1 sin especificar el nombre de los
directorios.
8.-) Desde el punto donde nos encontramos borrar el directorio dir1 y todos sus subdirectorios.
9.-) Desde el directorio raíz borrar los ficheros que hay en dir1 y en dir12.
10-) Crear en el directorio raíz los ficheros:
texto2.txt
texto3.txt
texto1.doc
texto2.doc
texto3.doc
11-) Copia los archivos de extensión .doc al directorio dir1.
12-) Copiar en dir11 los ficheros resultantes de unir texto1.txt con texto1.doc y grabarlo en texto1.ref.
Hacer lo mismo para los otros dos ficheros. Realizar este ejercicio en una única línea de comando.
13-) Unir todos los ficheros .txt en texto2.txt. ¿Que ha sucedido? ¿Tiene importancia el orden en que se
enumeran los ficheros?.
14-)Mostrar el árbol de directorios.
Mostrar el árbol de directorios con sus ficheros.
15-) Borrar el directorio y todo su contenido de dir1.
4. Atributos de disco y ficheros
4.1 Cambiar y mover
4.1.1 RENAME (REN) (Cambiar nombre)
Cambia el nombre del archivo o de los archivos que especifique.
Podrá cambiar el nombre de todos los archivos que coincidan con el nombre del archivo
especificado.
Sintaxis
RENAME [unidad:][ruta]nombrearchivo1 nombrearchivo2
REN [unidad:][ruta]nombrearchivo1 nombrearchivo2
Parámetros
[unidad:][ruta]nombrearchivo1
Especifica la posición y el nombre del archivo o grupo de archivos cuyo(s) nombre(s) desea
cambiar.
nombrearchivo2
Especifica el nuevo nombre del archivo o, si se utilizan comodines, los nuevos nombres de los
archivos. No se puede indicar una nueva unidad o ruta de acceso.
Uso de comodines con RENAME
Podrá utilizar los comodines (* o ?) para cualquiera de los dos parámetros nombrearchivo. Si
utiliza comodines en nombrearchivo2, los caracteres representados por dichos comodines serán idénticos
a los correspondientes en nombrearchivo1.
RENAME no funcionará si ya existe nombrearchivo2
4.1.2 MOVE
Mueve uno o más archivos al lugar que especifique. El comando MOVE también cambia el
nombre de los directorios.
Sintaxis
MOVE [/Y|/-Y][unidad:][ruta]nombrearchivo[,[unidad:][ruta]nombrearchivo[...]] destino
Parámetros
[unidad:][ruta]nombrearchivo
Especifica ubicación y el nombre del (de los) archivo(s) que desea mover. También especifica el
nombre de un directorio al cual desee cambiar el nombre.
destino
Especifica la nueva ubicación del archivo o el nuevo nombre del directorio. Destino puede
consistir en una letra de unidad seguida del carácter dos puntos, el nombre de un directorio o una
combinación. Si está moviendo solamente un archivo, también puede especificar un nombre de archivo si
desea cambiar el nombre del archivo cuando lo mueva. El mover un archivo a un archivo existente,
sobrescribe el archivo existente.
Modificadores
/Y
Indica que se desea que MOVE sustituya el(los) archivo(s) existente(s) sin pedir confirmación.
Está predeterminado que si se especifica un archivo existente como archivo de destino, MOVE preguntará
si desea ignorar el archivo existente. (En las versiones anteriores de MS-DOS el archivo existente se
sustituía directamente.) Si el comando MOVE es parte de un archivo de procesamiento por lotes, MOVE
sustituirá el archivo sin pedir confirmación. Si se especifica este modificador se ignorarán todos los
parámetros predeterminados y el valor actual de la variable de entorno COPYCMD.
/-Y
Indica que se desea que MOVE pida confirmación al sustituir un archivo existente. Si se
especifica este modificador se ignoran todos los parámetros predeterminados y el valor actual de la
variable de entorno COPYCMD.
Parámetros de Errorlevel
Si el comando MOVE ha conseguido mover sin problemas el archivo o archivos que se hayan
especificado, devuelve un valor ERRORLEVEL = 0. Si se produjo un error al mover uno o más archivos
especificados, el comando MOVE devuelve un valor ERRORLEVEL = 1.
4.1.3 ATTRIB (Indicadores)
Presenta o modifica los indicadores de archivo.
Sintaxis
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H][[unidad:][ruta]nombrearchivo][/S]
Para presentar todos los indicadores de todos los archivos del directorio actual, use la siguiente
sintaxis:
ATTRIB
Parámetro
[unidad:][ruta]nombrearchivo
Especifica la posición y el nombre del archivo o los archivos que desee procesar.
Modificadores
+R
+A
+S
+H
Establece el indicador de archivo de
sólo-lectura.
Establece el indicador de
lectura/escritura.
Establece el archivo como un archivo de
sistema.
Establece el archivo como un archivo
oculto.
-R
-A
-S
-H
Elimina el indicador de archivo de sólolectura.
Elimina el indicador de lectura/escritura.
Elimina el indicador de archivo de
sistema.
Elimina el indicador de archivo oculto.
/S
Procesa archivos en el directorio actual y en todos sus subdirectorios.
Cambiar los indicadores de un directorio
Para poder utilizar ATTRIB con un directorio, deberá especificar explícitamente el nombre del
directorio. No podrá usar comodines para trabajar con directorios.
4.1.4 LABEL (ETIQUETA)
Crea, cambia o elimina la etiqueta de volumen (nombre) de un disco
Sintaxis
LABEL [unidad:][etiqueta]
Parámetros
unidad:
Especifica la ubicación del disco cuya etiqueta desea asignar.
etiqueta
Especifica la nueva etiqueta de volumen. Se deben incluir los dos puntos (:) entre unidad y
etiqueta.
Si no especifica una etiqueta al usar el comando LABEL, MS-DOS mostrará un mensaje con el
siguiente formato:
El volumen en la unidad A es xxxxxxxxxxx
El número de serie del volumen es xxxx-xxxx
¿Etiqueta de volumen? (11 caracteres, ENTRAR para ignorar)
La parte del mensaje que dice "El número de serie es" no aparecerá si el disco no tiene número
de serie.
Puede escribir la etiqueta de volumen deseada o puede presionar ENTRAR para eliminar la
etiqueta actual. Si un disco ya tiene una etiqueta y presiona ENTRAR para ignorar, MS-DOS presentará el
siguiente mensaje:
¿Eliminar etiqueta de volumen actual (S/N)?
Presione S para eliminar la etiqueta o N para conservarla.
Limitaciones para el uso de etiquetas de volumen
Las etiquetas de volumen pueden tener un máximo de 11 caracteres y pueden incluir espacios
pero no tabuladores. El uso de varios espacios consecutivos podría interpretarse como un solo espacio.
No se deben utilizar los siguientes caracteres en una etiqueta del volumen:
*?/\|.,;:+= []()&^<>"
MS-DOS presentará las etiquetas del volumen en letras mayúsculas. Si escribe una etiqueta de volumen en
letras minúsculas, el comando LABEL las convertirá en mayúsculas.
4.1.5 VOL (Volumen)
Presenta la etiqueta de volumen del disco y su número de serie, si existen.
Sintaxis
VOL [unidad:]
Parámetros
unidad:
Especifica la unidad en la que se encuentra el disco cuya etiqueta de volumen y número de serie
se presentarán.
4.2 Copiar, comparar y chequear disquetes
4.2.1 DISKCOPY (Copiar disquete)
Copia el contenido completo de un disquete en otro. DISKCOPY sobrescribe el contenido
existente del disquete de destino al copiar la nueva información.
Sintaxis
DISKCOPY [unidad1: [unidad2:]] [/V] [/M]
Parámetros
unidad1:
Especifica la unidad que contiene el disquete de origen.
unidad2:
Especifica la unidad que contiene el disquete de destino.
Modificadores
/V
Determina si la copia es correcta. Con este modificador el proceso de copia será más lento.
/M
Obliga a DISKCOPY a utilizar memoria convencional para el almacenamiento temporal.
DISKCOPY está predeterminado para utilizar el disco duro como área de almacenamiento temporal, a fin
de que no sea necesario cambiar disquetes.
Unidad no válida para DISKCOPY
El comando DISKCOPY trabaja sólo en discos desmontables y sin comprimir, tales como
disquetes. DISKCOPY no se puede utilizar en un disco duro o una unidad de red.
Disquete sin formato
Si está copiando a un disquete sin formato en la unidad2, DISKCOPY dará formato al disquete
con la misma cantidad de caras y sectores por pista que el disquete de la unidad1.
Los dos disquetes deben ser del mismo tipo y tamaño.
Números de serie de los disquetes
Si el disquete de origen tiene un número de serie del volumen, DISKCOPY creará uno nuevo
para el disquete de destino y presentar este número cuando termine de realizar la operación de copia.
Evitar la fragmentación del disquete
Como DISKCOPY hace una copia exacta del disquete de origen en el disquete de destino,
cualquier fragmentación que exista en el disquete de origen será transferida al disquete de destino.
Para evitar transferir la fragmentación de un disquete a otro, utilice el comando COPY o el
comando XCOPY para efectuar la copia de sus disquetes. El nuevo disquete no estará fragmentado, ya
que los comandos COPY y XCOPY copian archivos en forma secuencial.
Copia de disquetes de inicio
Si se usa el comando DISKCOPY para copiar un disquete de inicio, la copia también será un
disquete de inicio. Si se usa COPY o XCOPY para copiar un disquete de inicio, la copia generalmente no
será un disquete de inicio.
Códigos de salida de DISKCOPY
La lista siguiente muestra cada código de salida:
0 La copia se efectuó correctamente.
3 Ocurrió un error crítico.
1 Ocurrió un error no crítico de lectura/escritura. 4 Ocurrió un error de inicialización.
2 El usuario presionó CTRL+C para suspender el proceso.
4.2.2 DISKCOMP (Comparar disquetes)
Compara el contenido de dos disquetes.
Este comando realiza una comparación pista por pista.
Sintaxis
DISKCOMP [unidad1: [unidad2:]]
Parámetros
unidad1:
Especifica la unidad que contiene uno de los disquetes.
unidad2:
Especifica la unidad que contiene el otro disquete.
Unidad no válida para DISKCOMP
El comando DISKCOMP funciona sólo con disquetes.
Mensajes de DISKCOMP
Si todas las pistas de los dos disquetes que se comparen son iguales, DISKCOMP presentará el
siguiente mensaje:
Comparación correcta
Si las pistas no son iguales, DISKCOMP presentará un mensaje parecido al siguiente:
Error de comparación en
cara 1, pista 2
Cuando DISKCOMP haya finalizado la comparación, presentará el siguiente mensaje:
¿Desea comparar otro disquete (S/N)?
Comparación de distintos tipos de disquetes
Si el disquete en la unidad 1 no es del mismo tipo que el disquete en la unidad 2, DISKCOMP
presentará un mensaje de error.
Uso de DISKCOMP con redes y unidades redirigidas
DISKCOMP no funcionará en unidades de red ni en unidades creadas o reasignadas por un
comando SUBST.
Códigos de salida de DISKCOMP
La lista siguiente muestra cada código de salida.
0 Los disquetes son iguales.
3 Ocurrió un error crítico.
1 Se encontraron diferencias.
4 Ocurrió un error de inicialización.
2 El usuario presionó CTRL+C para suspender el proceso.
4.2.3 CHKDSK (Verificar disco)
Comprueba el estado del disco y presenta un informe. También puede arreglar errores en el
disco.
Efectúa un chequeo comprobando la formación de la FAT y la disposición de los clusters de cada
fichero, avisando si encuentra algún error.
En el informe nos informa del estado del disco, su ocupación, los sectores defectuosos si los
hubiera y un resumen de la memoria disponible.
Sintaxis
CHKDSK [unidad:][[ruta]nombrearchivo] [/F] [/V]
Parámetros
unidad:
Especifica la unidad que contiene el disco que desee que CHKDSK compruebe.
[ruta]nombrearchivo
Especifica la posición y el nombre de un archivo o conjunto de archivos que serán comprobados
por CHKDSK a fin de detectar fragmentación. Podrá usar comodines(* y ?) para especificar varios
archivos.
Modificadores
/F
Repara errores en el disco. No utilice esta opción al ejecutar CHKDSK desde otros programas.
/V
Al verificar el disco, presenta el nombre de cada archivo en todos los directorios.
Uso de CHKDSK con archivos abiertos
Evite usar CHKDSK cuando tenga archivos abiertos. CHKDSK está diseñado para usarse cuando
los archivos del disco se encuentren en un estado no cambiante, es decir, cuando no estén abiertos. Si
ejecuta CHKDSK /F cuando tenga archivos abiertos, podrá dañar o perder información. Por lo tanto,
nunca ejecute CHKDSK /F desde otro programa o cuando esté ejecutando Microsoft Windows o el
Conmutador de tareas de MS-DOS.
Uso de CHKDSK con unidades y redes asignadas
El comando CHKDSK no funciona en unidades creadas con el comando SUBST. No podrá usar
CHKDSK para comprobar el estado de un disco en la unidad de una red.
Errores físicos de discos
El comando CHKDSK detecta solamente errores lógicos en el sistema de archivos, y no errores
físicos del disco.
Parámetros ERRORLEVEL
Si CHKDSK no encuentra errores, devolverá un valor ERRORLEVEL igual a 0. Si encuentra
uno o más errores, devolverá un valor ERRORLEVEL igual a 255.
4.3 Redireccionamiento
Por regla general los mandatos del MS-DOS recibe las entradas por el teclado y su efecto lo
muestra por pantalla. Algunas veces nos puede interesar cambiar esto. Esto lo conseguimos con los
redireccionamientos.
Un redireccionamiento consiste en el cambio de la salida o entrada de los datos a
otro dispositivo distinto de la pantalla o el teclado.
Los símbolos que utilizamos para conseguir esto son:
“<“ Redireccionamiento de entrada. Cambia la fuente de entrada de datos
“>“ Redireccionamiento de salida. Cambia el dispositivo de salida de datos
“>>“ Redireccionamiento de adición. Añade la salida de un mandato al contenido de un fichero
4.4 Los Filtros
Un filtro permite desviar la salida de un mandato de MS-DOS hacia otro mandato.
El símbolo utilizado para realizar un filtro es “|” y se intercala entre los dos mandatos. Solo
existen tres mandatos que pueden recibir como parámetro la salida de otro mandato: MORE, SORT y
FIND. (Código ascii de | es el 124)
4.4.1 MORE (Más)
El comando MORE lee información de entrada estándar desde un símbolo de canalización o
archivo redirigido y la presenta en pantallas consecutivas.
Sintaxis
MORE < [unidad:][ruta]nombrearchivo
nombre-comando | MORE
Parámetros
[unidad:][ruta]nombrearchivo
Especifica la posición y nombre del archivo que suministra la información que será presentada.
nombre-comando
Especifica el nombre del comando que proporcionará la información que será presentada.
4.4.2 SORT (Ordenar)
Lee información de entrada, ordena datos y escribe los resultados en la pantalla, en un archivo o
en otro dispositivo.
SORT funciona como filtro leyendo caracteres en una columna específica y luego clasificándolos
en orden ascendente o descendente.
Sintaxis
SORT [/R] [/+n] [<] [unidad1:][ruta1]nombrearchivo1 [> [unidad2:][ruta2]nombrearchivo2]
[comando |] SORT [/R] [/+n] [> [unidad2:][ruta2]nombrearchivo2]
Parámetros
[unidad1:][ruta1]nombrearchivo1
Especifica la posición y el nombre del archivo cuyos datos desea ordenar.
[unidad2:][ruta2]nombrearchivo2
Especifica la posición y el nombre de un archivo en el que serán almacenados los datos
ordenados.
comando
Especifica el comando cuya información de salida constituya los datos que desea ordenar.
Modificadores
/R
Invierte el orden de clasificación, es decir, ordena de Z a A y de 9 a 0.
/+n
Ordena el contenido del archivo de acuerdo al carácter de la columna n. Si no se utiliza este
modificador, el comando SORT ordenará los datos según los caracteres de la columna 1.
Secuencia de caracteres
El programa SORT utiliza la tabla de secuencias de caracteres que corresponda al código de país
y tablas de códigos especificados. Los caracteres superiores al código ASCII 127 se ordenarán según la
información que contenga el archivo COUNTRY.SYS u otro archivo especificado por el comando
COUNTRY en el archivo CONFIG.SYS.
SORT no distingue entre mayúsculas y minúsculas.
Tamaño límite de archivos
El comando SORT puede manejar archivos de hasta 64 K.
4.4.3 FIND (Buscar)
Busca una cadena de texto específica en un archivo o en varios archivos.
Sintaxis
FIND [/V] [/C] [/N] [/I] "cadena" [[unidad:][ruta]nombrearchivo[...]]
Parámetros
"cadena"
Especifica el grupo de caracteres que se buscarán. Deberá colocar el texto de la cadena entre
comillas.
[unidad:][ruta]nombrearchivo
Especifica la posición y el nombre del archivo en el cual se realizará la búsqueda de la cadena
especificada.
Modificadores
/V
Presenta todas las líneas que no contengan la cadena especificada.
/C
Solamente presenta un número que indica cuántas líneas contiene la cadena especificada.
/N
Precede cada línea con el número de línea del archivo.
/I
Especifica que no se haga la distinción entre mayúsculas y minúsculas durante la búsqueda.
Especificación de una cadena
Si la cadena que desea buscar contiene comillas, deberá utilizar dos pares de comillas por cada
comilla que contengan la cadena.
Uso de FIND como filtro
Si omite un nombre de archivo, FIND funcionará como filtro, tomando información de entrada
desde la fuente estándar de MS-DOS (generalmente el teclado, un símbolo de canalización o un archivo
redirigido) y presentará todas las líneas que contengan la cadena.
Uso de caracteres comodines con FIND
No podrá usar comodines (* y ?) en nombres de archivos o extensiones que especifique con el
comando FIND. Para buscar una cadena en un grupo de archivos especificado por medio de comodines,
podrá usar el comando FIND en un comando FOR
Uso de FIND en archivos con retornos de carro
El comando FIND no reconoce retornos de carro. Al usar el comando FIND para buscar texto en
un archivo que incluye retornos de carro, deberá limitar la cadena de búsqueda al texto que pueda ser
encontrado entre los retornos de carro, es decir, una cadena que probablemente no haya sido interrumpida
por un retorno de carro. Por ejemplo, FIND no encontrará la cadena "referencia rápida" si hay un retorno
de carro entre la palabra "referencia" y la palabra "rápida".
Códigos de salida FIND
La siguiente lista muestra cada código de salida.
0 La búsqueda se realizó con éxito y se encontró 1 La búsqueda se realizó con éxito, pero no se
por lo menos una cadena.
encontró ninguna cadena.
2 La búsqueda no se realizó con éxito. Se
produjo un error durante la búsqueda y FIND
no podrá proporcionar un informe acerca de si
encontró alguna cadena.
4.5 PRÁCTICAS 4
1.-) Desde la unidad c:\ asigne una etiqueta al disquete de la unidad a: . Por ejemplo su nombre.
2.-) Verifique la etiqueta y el volumen.
3.-) Desde C:\.Crea dos ficheros con la extensión .txt en la unidad a: directorio raíz. Crea el siguiente
directorio a:\dir1 . Mueve los ficheros a este directorio y cambia el nombre de uno de ellos.
4.-) Ejecute el comando DIR de la unidad C y de todos sus subdirectorios y redireccione la salida a un
fichero llamado SALIDA.TXT en la unidad a:\.
5.-) Escribe el mandato que visualice los ficheros ocultos del directorio raíz de la unidad c:. Ordenados
por su nombre, y almacenarlos en un fichero que se llame OCULTOS.TXT en la unidad a:.
Cambiamos a la unidad y ruta siguiente a:\
6.-) Cambiar el nombre al subdirectorio dir1 por primero.
7.-) Obtener el fichero FICHEROS.TXT que se guardará en el directorio primero de la unidad a:,
conteniendo todos los ficheros .TXT de la unidad c: que su nombre comience por la cadena de caracteres
“TES”.
8.-) Averigua el nº de ficheros que tienen la extensión EXE de toda la unidad c:
9.-) Crear de nuevo el fichero SALIDA.TXT que debe contener toda la lista de directorios, subdirectorios
y archivos de la unidad A, de manera que con cada nombre de archivo aparezca su ruta. A continuación
visualiza de forma ordenada todos los ficheros y directorios que pertenecen al directorio primero.
10) Comprueba el estado del fichero SALIDA.TXT.
11) Crear un directorio a.\primero\segundo. Desde el directorioa:\primero\segundo y sin poner los
nombres de los directorios copiar SALIDA.TXT que se encuentra en el directorio raíz al directorio
a:\primero.
12) Comprueba su nº de volumen. Realice una copia de su disquete y luego comprueba que son idénticos.
Comprueba de nuevo el nº de volumen.
13) Si tenemos en un fichero grabado el literal que queremos que sea la etiqueta de nuestros disquetes.
Como le asignarías a un disquete esa etiqueta sin tener que teclear tu el literal.
14) Realizar la copia de un disquete con los dos comandos que se puede hacer. Después de cada copia
compáralos y comenta sus resultados.
5. Editor, recuperación de datos y procesos por lotes
5.1 Almacenar mandatos en memoria.
Modificación de la línea de comandos
Estas combinaciones de teclas las podemos utilizar sin cargar el mandato doskey, aunque a veces
tengamos problemas con ellas. Por lo tanto se aconseja cargar primero el doskey.
FLECHA IZQUIERDA
Desplaza el cursor un carácter hacia atrás
FLECHA DERECHA
Desplaza el cursor un carácter hacia adelante.
CONTROL+FLECHA IZQUIERDA
Desplaza el cursor una palabra hacia atrás.
CONTROL+FLECHA DERECHA
Desplaza el cursor una letra hacia adelante.
INICIO
Desplaza el cursor hasta el principio de la línea.
FIN
Desplaza el cursor hasta el final de la línea.
ESC
Borra el comando de la pantalla.
F1
Copia un carácter de la plantilla a la línea de comandos de MS-DOS. (La plantilla es un búfer de
memoria que almacena el último comando introducido).
F2
Busca hacia adelante en la plantilla la siguiente tecla presionada después de presionar F2. Doskey
insertará el texto de la plantilla hasta el carácter especificado, pero sin incluirlo.
F3
Copia el resto de la plantilla en la línea de comandos. Doskey comienza la copia de caracteres
desde la posición en la plantilla que corresponda a la posición indicada por el cursor en la línea de
comandos.
F4
Borra caracteres, comenzando con el primer carácter de la plantilla hasta el carácter que se
especifique. Para usar esta tecla, presione F4 y escriba un carácter. Doskey borrará hasta ese carácter,
pero sin incluirlo.
F5
Copia el comando actual en la plantilla y borra la línea de comandos.
F6
Coloca un carácter para indicar el final de un archivo (CTRL+Z) en la posición actual de la línea
de comandos.
F7
Presenta todos los comandos almacenados en la memoria, junto con sus números asociados.
Doskey asigna estos números de forma secuencial, comenzando con 1 para el primer comando (el más
antiguo) almacenado en la memoria.
ALT+F7
Borra todos los comandos almacenados en la memoria.
F8
Busca en la memoria un comando que será presentado en la pantalla por Doskey. Para utilizar
esta tecla, escriba el primer carácter o algunos caracteres del comando que desee que Doskey busque y
luego presione F8. Doskey presentará el comando más reciente que coincida con el texto introducido.
Presione F8 repetidamente para pasar sucesivamente por todos los comandos que comiencen por los
caracteres especificados.
F9
Le pide un número de comando y presenta el comando que esté asociado con el número
especificado.
ALT+F10
Elimina todas las definiciones de macros.
5.1.1 DOSKEY
Permite recuperar y editar los últimos mandatos introducidos a través del teclado y crear macros.
Doskey es un programa residente en memoria. Ocupa cerca de 3 Kb de memoria residente.
Sintaxis
DOSKEY [/REINSTALL] [/BUFSIZE=tamaño] [/MACROS]
[/HISTORY][/INSERT|/OVERSTRIKE] [macro=[texto]]
Para iniciar el programa Doskey y usar las especificaciones predeterminadas, utilice la sintaxis siguiente:
DOSKEY
Parámetro
macro=[texto]
Crea una macro que ejecuta uno o más comandos de MS-DOS. Macro representa el nombre que
será asignado a la macro. Texto representa los comandos que serán grabados.
Modificadores
/REINSTALL
Instala una nueva copia del programa Doskey aunque ya haya una copia instalada. En este último
caso, el modificador /REINSTALL también limpia el búfer.
/BUFSIZE=tamaño
Especifica el tamaño del búfer en el que Doskey almacenará los comandos y las macros. El
tamaño predeterminado es de 512 bytes y el tamaño mínimo es de 256 bytes.
/MACROS
Presenta una lista de todas las macros de Doskey. Este modificador se puede abreviar /M.
/HISTORY
Presenta una lista de todos los comando almacenados en la memoria. El modificador /HISTORY
se puede abreviar /H.
/INSERT|/OVERSTRIKE
Especifica si el nuevo texto que se escriba reemplazará al texto existente. Si se utiliza el
modificador /INSERT, el nuevo texto que escriba en una línea será insertado dentro del texto existente. Si
se utiliza el modificador /OVERSTRIKE, el nuevo texto reemplazará al texto existente. El valor
predeterminado es /OVERSTRIKE.
Repetición de un comando
Para volver a presentar un comando en la pantalla, podrá usar cualquiera de las siguientes teclas
después de cargar Doskey en la memoria:
FLECHA ARRIBA
Repite el comando de MS-DOS que se haya introducido antes del que esté visible actualmente en
la pantalla.
FLECHA ABAJO
Repite el comando de MS-DOS que se haya introducido después del que esté visible actualmente
en la pantalla.
RE PAG
Repite el primer comando de MS-DOS que haya sido utilizado durante la sesión actual.
AV PAG
Repite el último comando de MS-DOS que haya sido utilizado.
Creación de una macro
Se usan los siguientes caracteres especiales para controlar la operación de comandos al definir
una macro:
$G o $g
Redirige la información de salida. Este carácter es equivalente al símbolo de redirección de
información de salida (>).
$G$G o $g$g
Agrega la información de salida al final de un archivo. Estos caracteres dobles son equivalentes
al símbolo de "redirección y anexado" de información de salida (>>).
$L o $l
Redirige la información de entrada. Este carácter es equivalente al símbolo de redirección de
información de entrada (<).
$B o $b
Envía la información de salida de una macro a un comando. El uso de uno de estos caracteres
especiales es equivalente a introducir el símbolo de canalización (|) en una línea de comandos.
$T o $t
Separa comandos. Use cualquiera de estos caracteres especiales para separar comandos al crear
macros o introducir comandos en la línea de comandos de Doskey.
$$
Especifica el carácter de signo monetario ($).
$1 a $9
Representan cualquier información para la línea de comandos que desee especificar al ejecutar la
macro. Los caracteres especiales $1 a $9 son parámetros de procesamiento por lotes que le permiten usar
datos diferentes en la línea de comandos cada vez que ejecute la macro.
$*
Representa toda la información para la línea de comandos que desee especificar al introducir el
nombre de la macro. El carácter especial $* es un parámetro reemplazable parecido a los parámetros de
procesamiento por lotes $1 a $9 pero con una importante diferencia. Aquí todo lo que escriba en la línea
de comandos después del nombre de la macro reemplazará al carácter $* en la macro.
Puede usar el comando DOSKEY en un programa de procesamiento por lotes para crear una macro.
Ejecución de una macro
Para ejecutar una macro, introduzca el nombre de la macro comenzando en la primera posición
de la línea de comandos. Si la macro fue definida con $* o con cualquiera de los parámetros de
procesamiento por lotes $1 a $9, utilice un espacio para separarlos.
No se puede ejecutar una macro desde un programa de procesamiento por lotes.
Creación de una macro con el mismo nombre que un comando de MS-DOS
Es posible crear una macro que tenga el mismo nombre que un comando de MS-DOS. Para
especificar si desea ejecutar la macro o el comando de MS-DOS, siga estas instrucciones:
Para ejecutar la macro, introduzca el nombre de la macro inmediatamente después del símbolo
del sistema, sin dejar ningún espacio entre el símbolo del sistema y el nombre del comando.
Para ejecutar el comando, inserte uno o más espacios entre el símbolo del sistema y el nombre
del comando.
Eliminación de una macro
Para eliminar una macro, escriba el siguiente comando:
doskey nombremacro=
5.2 Editor de Archivos
5.2.1 EDIT
Inicia MS-DOS Editor, un editor de textos con el que podrá crear y modificar archivos de texto
ASCII.
Sintaxis
EDIT [[unidad:][ruta]nombrearchivo]
Parámetro
[unidad:][ruta]nombrearchivo
Especifica la posición y nombre de un archivo de texto ASCII. Si el archivo no existe, Edit lo
creará. Si existe, lo abrirá y presentará su contenido en la pantalla
ADVERTENCIA: MS-DOS Editor no funcionará si el archivo QBASIC.EXE no está en el directorio
actual o en la ruta de búsqueda o en el mismo directorio que EDIT.COM. Si elimina QBASIC.EXE, a fin
de ahorrar espacio en su disco duro, no podrá usar MS-DOS Editor.
Observamos que se trata de una utilidad que cuenta con una barra de menús desplegables a los
que se accede pulsando la tecla <Alt>. Cada uno de estos menús posee varias opciones, a las que se
accede con los cursores y pulsando <Intro> para activarlas.
Selección de texto.
Para efectuarla se marca con la combinación de teclas <May>+<Flecha izq o dcha>.Si Pulsamos
<May>+<Flecha arriba o abajo> se selecciona toda la línea.
En las opciones en las que después de su nombre aparezca una fila de puntos, indica que existe
un cuadro de diálogo donde se deberá anotar alguna información o elegir entre varias opciones..
Introducción de caracteres ASCII.
Para poder introducir caracteres ASCII extendidos (ALT + num) pulsaremos primero <Ctrl> +
<P> y a continuación <Alt>+<num>.
5.3 Recuperación de datos borrados.
La información que existe sobre un disquete se puede borrar o perder de varias formas. Una
porque nosotros queramos borrarla (DEL, ERASE) o borrar todos el disquete formateandolo. También se
puede perder información por fallos de la unidad o deterioro del soporte, estos, son más difíciles de
recuperar.
5.3.1 UNDELETE (Restablecer)
Restablece archivos que hayan sido eliminados previamente con el comando DEL o ERASE.
Ofrece tres niveles de protección de archivos contra eliminación inadvertida: Centinela de
eliminación, Registro de eliminación y estándar.
Sintaxis
UNDELETE [[unidad:][ruta]nombrearchivo] [/DT|/DS|/DOS]
UNDELETE
entradas]]
[/LIST|/ALL|/PURGE[unidad]|/STATUS|/LOAD|/U|/S[unidad]|/Tunidad[-
Parámetro
[unidad:][ruta]nombrearchivo
Especifica la posición y el nombre del archivo o grupo de archivos que desea recuperar. Por
configuración predeterminada, el comando UNDELETE restablecerá todos los archivos eliminados del
directorio actual.
Modificadores
/LIST
Presenta una lista de los archivos eliminados que podrán ser recuperados, pero no recupera
ninguno de ellos. El parámetro [unidad:][ruta]nombrearchivo y los modificadores /DT, /DS y /DOS
controlan la lista que produce este modificador.
/ALL
Recupera archivos eliminados sin solicitar confirmación para cada uno.
Utiliza el método de Centinela de eliminación, si está presente. Si el Centinela de eliminación no
está presente existe, utiliza el Registro de eliminación, si está presente. Si no, recuperará los archivos
desde el directorio de DOS, colocando el símbolo (#) en lugar del primer carácter que falte en el nombre
del archivo. Si existe un nombre de archivo duplicado, este modificador probara cada uno de los
siguientes caracteres, en el orden en que se presentan, hasta encontrar un nombre de archivo único:
#%&0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.
/DOS
Recupera sólo aquellos archivos que figuren en la lista interna de MS-DOS de archivos
eliminados y solicita confirmación para cada uno. Si existe un registro de archivos eliminados, este
modificador hará que UNDELETE lo ignore.
/DT
Recupera sólo aquellos archivos que se encuentren en el archivo del Registro de eliminación y
solicita confirmación para cada archivo.
/DS
Recupera sólo aquellos archivos que se encuentran en el directorio CENTINELA y solicita
confirmación para cada archivo.
/LOAD
Carga el programa residente en memoria UNDELETE utilizando información definida en el
archivo UNDELETE.INI. Si el archivo UNDELETE.INI no existe, RESTABLECER (UNDELETE)
utilizará valores predeterminados.
/UNLOAD
Descarga la parte residente en memoria del programa UNDELETE, desactivando la capacidad de
restablecer archivos eliminados.
/PURGE[unidad]
Elimina el contenido del directorio CENTINELA. Si no se especifica una unidad, UNDELETE
buscará el directorio en la unidad actual.
/STATUS
Presenta el tipo de protección contra eliminación que esté en efecto en cada unidad.
/S[unidad]
Habilita el nivel de protección Centinela de eliminación y carga la parte residente en memoria
del programa UNDELETE. El programa registra la información que se usa para restablecer archivos
eliminados en la unidad especificada. Si no se especifica una unidad de disco, el uso de este modificador
habilitará el método de protección Centinela de eliminación en la unidad actual. Al especificar el
modificador /S se cargará en la memoria la parte residente en memoria utilizando la información definida
en el archivo UNDELETE.INI.
/Tunidad[-entradas]
Habilita el nivel de protección Registro de eliminación y carga la parte residente en memoria del
programa UNDELETE. El programa registra la información que se utiliza para recuperar archivos
eliminados. El parámetro unidad requerido especifica la unidad de disco que contiene el disco de cuyos
archivos eliminados UNDELETE guardará un registro. El parámetro opcional entradas, cuyo valor deberá
estar entre 1 y 999, especifica el número máximo de entradas para el registro de archivos eliminados
(PCTRACKR.DEL). El valor predeterminado para entradas depende del tipo de disco del que llevará el
registro. En la siguiente lista se muestra el tamaño de cada disco, el número predeterminado de entradas
de dicho disco y el tamaño de su archivo.
Tamaño del disco
Entradas
Tamaño del archivo
360K
720K
1,2 MB
1,44 MB
20 MB
32 MB
25
50
75
75
101
202
5K
9K
14K
14K
18K
36K
32 MB
303
55K
ADVERTENCIA: No utilice el registro de archivos eliminados en ninguna unidad de disco que haya sido
redirigida por medio del comando JOIN o SUBST. Si desea utilizar el comando ASSIGN, deberá usarlo
antes del comando UNDELETE para instalar el registro de archivos eliminados.
ADVERTENCIA: Una vez que elimine un archivo de su disco, es posible que no pueda recuperarlo.
Aunque el comando UNDELETE puede recuperar archivos eliminados, solamente lo podrá hacer con
seguridad si no se han creado o cambiado otros archivos del disco. Si elimina inadvertidamente un
archivo que desea conservar, deje de hacer lo que está haciendo e inmediatamente use el comando
UNDELETE para recuperar el archivo.
Niveles de protección
MS-DOS proporciona tres niveles de protección contra la eliminación inadvertida de archivos:
Centinela de eliminación, Registro de eliminación y estándar.
Centinela de eliminación proporciona el nivel más alto de protección. Requiere poca memoria y
espacio en disco.
El siguiente nivel de protección es Registro de eliminación que requiere la misma cantidad de
memoria que Centinela de eliminación pero un mínimo de espacio en el disco.
El nivel más bajo de protección, estándar, no requiere memoria ni espacio en disco, pero le
permite recuperar archivos eliminados, siempre y cuando su posición en el disco no haya sido ocupada
por otros archivos.
Centinela de eliminación
Centinela de eliminación proporciona el nivel más alto de protección para asegurarse de que
pueda recuperar los archivos eliminados. Este nivel de protección crea un directorio oculto llamado
SENTRY. Cuando elimina un archivo, UNDELETE mueve el archivo desde su ubicación actual al
directorio SENTRY, sin cambiar el registro de la ubicación del archivo en la tabla de asignación de
archivos (FAT). Si restablece el archivo, MS-DOS lo vuelve a colocar en su ubicación original.
El tamaño del directorio de SENTRY y de sus archivos está limitado a aproximadamente el 20
por ciento del espacio de su disco duro. Si elimina el archivo y el directorio y sus archivos sobrepasan este
límite, UNDELETE eliminará los archivos más antiguos hasta liberar suficiente espacio para acomodar al
archivo eliminado recientemente.
Además del espacio necesario para el directorio de SENTRY, Centinela de eliminación requiere
13,5K de memoria para la porción residente en memoria del programa UNDELETE.
Registro de eliminación
Registro de eliminación proporciona un nivel intermedio de protección. Usa un archivo oculto
que se llama PCTRACKER.DEL para registrar la ubicación de los archivos eliminados. Cuando elimine
un archivo, MS-DOS cambiará la tabla de asignación de archivos (FAT) para indicar que la ubicación del
archivo ha quedado disponible para otro archivo. Podrá recuperar el archivo eliminado siempre y cuando
no se haya colocado otro archivo en esa ubicación. Si ha colocado otro archivo en ese lugar, es posible
que pueda recuperar parcialmente el archivo eliminado.
Registro de eliminación requiere 13,5K de memoria para la porción residente en memoria del
programa UNDELETE y una mínima cantidad de espacio en el disco para el archivo PCTRACKER.DEL.
Estándar
El nivel estándar de protección está disponible automáticamente cuando inicia su PC. De los tres
niveles de protección contra la eliminación inadvertida de archivos, éste proporciona el más mínimo nivel
de protección. Sin embargo, no requiere que cargue un programa residente en memoria.
También tiene la ventaja de que no requiere memoria ni espacio en el disco.
Si usa este nivel de protección, podrá recuperar un archivo eliminado siempre y cuando MS-DOS
no haya colocado otro archivo en la posición del archivo eliminado. Si se ha colocado un archivo en ese
lugar, es posible que no pueda recuperar ni siquiera parte del archivo eliminado.
Método utilizado para recuperar archivos
UNDELETE no puede restaurar un directorio que haya sido eliminado y tampoco puede
recuperar un archivo si ha eliminado el directorio que lo contenía. Si el directorio era un subdirectorio
inmediato del directorio raíz, es posible que pueda recuperar el directorio y sus archivos si primero usa el
comando UNFORMAT para restaurar el directorio y después usa el comando UNDELETE para
restablecer los archivos.
El archivo UNDELETE.INI
UNDELETE usa el archivo UNDELETE.INI para definir valores cuando UNDELETE se carga
en la memoria. Si este archivo no existe cuando cargue UNDELETE en la memoria, UNDELETE creará
un archivo titulado UNDELETE.INI que contendrá los siguientes valores.
 Usar el método de protección Centinela de eliminación en la unidad actual.
 Guardar todos los archivos, excepto los archivos *.TMP, *.VM?, *.WOA, *.SWP, *.SPL, *.RMG,
*.IMG, *.THM y *.DOV.
 No guardar los archivos que tengan activado el indicador lectura/escritura.
 Eliminar archivos después de 7 días.
 Restringir la cantidad de espacio en el disco disponible para archivos eliminados al 20 por ciento del
espacio total del disco.
El archivo UNDELETE.INI tiene cinco secciones: [sentry.drives],[sentry.files], [mirror.drives],
[configuration] y [defaults].
La sección [sentry.drives] especifica las unidades protegidas por el método Centinela de
eliminación, si se usa dicho método.
La sección [sentry.files] especifica los archivos protegidos contra eliminación, usando Registro
de eliminación o Centinela de eliminación. Un guión (-) antes de un nombre de archivo indica que no se
ha guardado el archivo. Los valores predeterminados definidos en la sección [sentry.files] son los
siguientes:
[sentry.files]
sentry.files=*.*
La sección [mirror.drives] especifica las unidades protegidas por el método Registro de
eliminación, si se usa dicho método.
La sección [configuration] define los siguientes valores:
Si se han de proteger los archivos cuyo indicador de lectura/escritura haya sido activado. Si los
archivos con el indicador lectura/escritura activado no están protegidos (valor predeterminado), la entrada
es la siguiente:
archive=FALSE
Un valor TRUE guarda los archivos cuyo indicador de lectura/escritura está activado.
El número de días que se guardarán los archivos. La siguiente entrada define el valor
predeterminado:
days=7
La cantidad de espacio total en el disco reservado para los archivos eliminados. La siguiente
entrada define el valor predeterminado:
percentage=20
La sección [defaults] especifica el método de registro de archivos. La siguiente entrada define el
método Centinela de eliminación predeterminado:
[defaults]
d.sentry=TRUE
d.tracker=FALSE
Cambiar el método de protección de archivos
Solamente podrá usarse un método de protección de archivos a la vez. Si desea cambiar el
método, ejecute el siguiente procedimiento:
1.-Descargue la porción residente en memoria del programa UNDELETE, escribiendo lo siguiente en el
símbolo del sistema:
undelete /u
2.-Active el nuevo nivel de protección y vuelva a cargar la porción residente en memoria del programa
UNDELETE. Por ejemplo, para activar el nivel de protección de Centinela de eliminación en su
unidad activa, escriba lo siguiente en el símbolo del sistema:
undelete /s
Unidades protegidas
El programa UNDELETE protege todas las unidades especificadas en el archivo
UNDELETE.INI, independientemente de las unidades que especifique al iniciar el programa. Por
ejemplo, supongamos que su archivo UNDELETE.INI contiene la siguiente entrada:
[sentry.drives]
C=
D=
El siguiente comando activa el nivel de protección Centinela de eliminación para las unidades C
y D:
undelete /sc
Para activar la protección únicamente en la unidad C, tendría que hacer lo siguiente:
1.-Usando cualquier editor de textos, abra su archivo UNDELETE.INI.
2.-Elimine la siguiente línea de la sección [sentry.drives] del archivo:
D=
3.-Guarde los cambios que efectuó en el archivo.
4.-Salga de su editor de textos.
5.-Active la protección Centinela de eliminación escribiendo lo siguiente en la línea de comandos:
undelete /sc
5.3.2 UNFORMAT (Reconstruir)
Reconstruye un disco que haya sido eliminado utilizando el comando FORMAT.
UNFORMAT solamente podrá reconstruir un disco duro local o unidades de disquetes. No podrá
utilizarse en una red. Este comando también se podrá usar para reconstruir una tabla de partición de disco
que haya sido dañada en una unidad de disco duro
Sintaxis
UNFORMAT unidad: [/L] [/TEST] [/P]
Parámetro
unidad:
Especifica la unidad en la que esté el disco cuyos archivos se deseen recuperar.
Modificadores
/L
Presenta una lista de todos los archivos y subdirectorios que UNFORMAT haya encontrado. Si
no se especifica este modificador, UNFORMAT solamente mostrará una lista de los subdirectorios y los
archivos que estén fragmentados.
/TEST
Muestra cómo UNFORMAT reconstruirá la información del disco pero no lleva a cabo este
proceso.
/P
Envía mensajes de salida a la impresora conectada a LPT1.
Limitaciones del comando UNFORMAT
Si el comando FORMAT se utilizó con el modificador /U, UNFORMAT no podrá restablecer la
condición anterior del disco.
Reconstrucción de un disco
El comando UNFORMAT puede restaurar su disco utilizando información del directorio raíz y
de la tabla de asignación de archivos del disco.
Durante la reconstrucción, UNFORMAT indicará cuántos subdirectorios ha encontrado. Si se
especificó un modificador /L, éste también mostrará todos los archivos de cada subdirectorio.
Si UNFORMAT encuentra un archivo que parezca estar fragmentado (es decir, almacenado en
diferentes posiciones en el disco), no podrá recuperar archivos, ya que no podrá localizar las porciones
restantes del archivo. En este caso, el comando UNFORMAT solicitará que confirme si desea quebrar el
archivo (es decir, recuperar sólo la parte del archivo que primero encuentre) o que elimine el archivo
entero.
Si UNFORMAT no solicita la confirmación de un archivo específico, dicho archivo estará casi
intacto. Sin embargo, es posible bajo ciertas circunstancias que UNFORMAT no reconozca que un
archivo está fragmentado, aunque sólo haya localizado una porción del archivo. Si esto le sucede a un
archivo de datos, la información se perderá y es posible que el programa que creara el archivo de datos no
lo pueda leer.
En estos casos, lo único que podrá hacer es restablecer los archivos a partir de disquetes
originales o copias de seguridad.
5.4 Proceso por lotes.
Hasta este momento hemos trabajado siempre en línea de forma interactiva. Un archivo de
procesos por lotes es un fichero de texto sin formato que contiene comandos del sistema
operativo que se ejecutarán automáticamente sin la intervención del usuario.
Estos ficheros tienen la extensión .bat y son ejecutables directamente desde el indicador del
sistema.
Para crear un fichero por lotes se realiza generalmente con un editor de textos que no incluya
caracteres de control. También con el COPY CON. Lo que hay que tener en cuenta es que hay que darle
la extensión .bat y que introduciremos un comando por línea.
Si queremos ejecutar un archivo de procesos de lotes solamente hay que teclear su nombre en el
símbolo de sistema, sin necesidad de escribir la extensión.
Para interrumpir su ejecución pulsaremos <Ctrl>+<C>.
5.4.1 REM (Comentario)
Permite que se incluyan comentarios o impide la ejecución de comandos en un programa de
procesamiento por lotes. (Podrá usar punto y coma (;) para inhabilitar comandos.)
Sintaxis
REM [comentario]
;REM [comentario]
Parámetros
comentario
Especifica cualquier cadena de caracteres que desee incluir como comentario.
Restricciones para uso de caracteres en archivos de procesamiento por lotes
Los caracteres de redirección (> o <) o el símbolo de canalización (|) no se pueden utilizar en un
comentario dentro de un archivo de procesamiento por lotes.
5.4.2 ECHO (Eco)
Muestra u oculta el texto de programas de procesamiento por lotes cuando el programa se esté
ejecutando. También indica si la función de repetición de comandos está activada o desactivada.
Sintaxis
ECHO [ON|OFF]
Para usar el comando echo a fin de presentar un mensaje, utilice la sintaxis siguiente:
ECHO [mensaje]
Parámetros
ON|OFF
Especifica si será activada (on) o desactivada (off) la característica de presentar los comandos en
la pantalla. Si desea ver el estado actual del comando ECHO, utilice dicho comando sin parámetro.
mensaje
Especifica el texto que desee que MS-DOS presente en la pantalla.
Ocultar el símbolo del sistema
Si se utiliza el comando ECHO OFF en la línea de comandos, el símbolo del sistema no
aparecerá en la pantalla. Para volver a presentar el símbolo del sistema, escriba ECHO ON.
Impedir que MS-DOS presente una línea
Para impedir que MS-DOS presente en la pantalla una línea determinada en un programa de
procesamiento por lotes, inserte el símbolo @ delante del comando.
Presentación de una línea en blanco
Para mostrar una línea en blanco en la pantalla, escriba ECHO seguido de un punto (ECHO.) sin
espacio entre el comando y el punto.
5.4.3 PAUSE (Pausa)
Suspende la ejecución de un programa de procesamiento por lotes y muestra un mensaje
indicando al usuario que presione cualquier tecla para continuar. Sólo podrá usar este comando dentro de
programas de procesamiento por lotes.
Sintaxis
PAUSE
5.4.4 Paso de parámetros a un proceso por lotes
Hasta ahora los mandatos eran fijos. Sin embargo, los procesos por lotes también permiten el
paso de parámetros posicionales. Las variables que van a tomar los valores de los parámetros que se pasen
al proceso por lotes van desde %1 hasta %9. La variable %0 también existe pero coge el valor del nombre
del procedimientos por lotes.
Los parámetros deben estar separados por un espacio en blanco. Si se pasan más parámetros que
número de variables utilizadas en el archivo batch, las sobrantes son ignoradas. Si se pasan menos que las
necesarias, las que no reciben parámetros se sustituyen internamente por un espacio en blanco.
Como hemos comentado, si se pasan más parámetros que variables definidas en un principio se
ignoran, pero no se pierden. MS-DOS nos proporciona un comando para poder tratar esos parámetros
ignorados, (SHIFT)
5.4.4.1 SHIFT
Cambia la posición de parámetros reemplazables en un programa de procesamiento por lotes.
Sintaxis
SHIFT
El comando SHIFT cambia los valores de los parámetros reemplazables %0 a %9 copiando cada
parámetro en el anterior. En otras palabras, el valor de %1 es copiado en %0, el valor de %2 es copiado
en %1 y así sucesivamente.
El comando SHIFT también se puede utilizar para crear un programa de procesamiento por lotes
que acepte más de 10 parámetros. Si especifica más de 10 parámetros en la línea de comandos, aquellos
que aparezcan después del décimo (%9) serán desplazados uno por uno sobre el parámetro %9.
No hay forma de invertir el comando SHIFT. Una vez ejecutado el comando SHIFT, no podrá
recuperar el primer parámetro (%0) que existiera antes de realizarse el desplazamiento.
5.4.5 IF (CONDICIÓN)
Ejecuta un procesamiento condicional en programas de procesamiento por lotes. Si la condición
especificada por un comando IF es verdadera, MS-DOS ejecutará el comando que siga a la condición. Si
la condición es falsa, MS-DOS hará caso omiso del comando. Podrá utilizar este comando sólo en
programas de procesamiento por lotes.
Sintaxis
IF [NOT] ERRORLEVEL número comando
IF [NOT] cadena1==cadena2 comando
IF [NOT] EXIST nombrearchivo comando
Parámetros
NOT
Especifica que MS-DOS deberá ejecutar el comando solamente si la condición es falsa.
ERRORLEVEL número
Especifica una condición verdadera sólo si el programa
COMMAND.COM devolvió un código de salida igual o mayor que número.
anterior
ejecutado
por
comando
Especifica el comando que MS-DOS deberá ejecutar si la condición previa se cumplió.
cadena1==cadena2
Especifica una condición verdadera solamente si cadena1 y cadena2 son iguales. Estos valores
pueden ser cadenas literales, variables de procesamiento por lotes (por ejemplo, %1) o el valor de las
variables de entorno (por ejemplo, PATH). Las cadenas literales no necesitan comillas.
EXIST nombrearchivo
Especifica una condición verdadera si nombrearchivo existe.
Comprobar que existe un directorio.
El comando IF no puede utilizarse para averiguar directamente la existencia de un directorio,
pero el dispositivo null (NUL) sí existe en cada directorio del disco duro. Por lo tanto, podrá comprobar la
existencia de dicho dispositivo para averiguar si existe un directorio en el disco duro.
if exist c:\midir\nul goto proceso
5.4.6 GOTO (IR A)
Dirige a MS-DOS hacia una línea marcada por una etiqueta especificada por usted dentro de un
programa de procesamiento por lotes. Podrá utilizar este comando sólo en programas de procesamiento
por lotes.
Sintaxis
GOTO etiqueta
Parámetros
etiqueta
Especifica la línea de un programa de procesamiento por lotes a la que debe dirigirse MS-DOS.
Valores válidos para la etiqueta
El parámetro etiqueta puede incluir espacios pero no puede incluir ningún otro separador, como
por ejemplo, puntos, comas o signos igual. GOTO usa los primeros ocho caracteres de cada etiqueta Por
lo tanto, las etiquetas "saludos01" y "saludos02" equivalen ambas a "saludos0".
El valor de la etiqueta que especifique en la línea del comando GOTO deberá coincidir con una
etiqueta existente en el programa de procesamiento por lotes. En el programa de procesamiento por lotes,
la etiqueta deberá estar precedida por dos puntos (:).
Si el programa de procesamiento por lotes no contiene la etiqueta especificada, dicho programa
se suspenderá y MS-DOS presentará un mensaje de error.
MS-DOS reconoce una línea de un programa de procesamiento por lotes que comience con dos
puntos (:) como una etiqueta y no la procesa como un comando. Si una línea comienza con dos puntos,
MS-DOS ignora todos los comandos en ella.
5.4.7 CHOICE (Opción)
Realiza una solicitud y aguarda hasta que el usuario elija entre un conjunto de teclas específico.
Sólo podrá utilizar este comando en programas de procesamiento por lotes.
Sintaxis
CHOICE [/C[:]teclas] [/N] [/S] [/T[:]c,nn] [texto]
Parámetros
texto
Especifica el texto que desea presentar antes del símbolo del sistema. Sólo se requieren comillas
si incluye un carácter modificador (\) como parte del texto antes del símbolo del sistema. Si no especifica
texto, CHOICE sólo presentará un símbolo del sistema.
Modificadores
/C[:]teclas
Especifica las teclas permitidas en el símbolo del sistema. Al mostrarlas, dichas teclas estarán
separadas por comas, aparecerán entre corchetes ([ ]) y estarán seguidas de un signo de interrogación. Si
no especifica el modificador /C, CHOICE usará SN como la opción predeterminada. Los dos puntos (:)
son opcionales.
/N
Evita que CHOICE presente el símbolo del sistema. Sin embargo, aún se presentará el texto
especificado. Si especifica el modificador /N, las teclas especificadas aún serán válidas.
/S
Indica que CHOICE deberá distinguir entre letras mayúsculas y minúsculas. Si no se especifica el
modificador /S, CHOICE aceptará tanto mayúsculas como minúsculas para las teclas que el usuario
especifique.
/T[:]c,nn
Causa que CHOICE efectúe una pausa durante el número de segundos especificado antes de
conmutar a una tecla predeterminada. Los valores del modificador /T son los siguientes:
c
Especifica el carácter al cual conmutará después de haber transcurrido nn segundos. El carácter
deberá encontrarse entre el conjunto de opciones especificado por el modificador /C.
nn
Especifica el número de segundos que durará la pausa. Los valores aceptables están entre 0 y
99. Si se especifica 0, no se efectuará ninguna pausa antes de conmutar al valor
predeterminado.
Parámetros de ERRORLEVEL
La primera tecla que asigne devolverá un valor de 1, la segunda un valor de 2, la tercera un valor
de 3 y así sucesivamente. Si el usuario presiona una tecla que no se encuentre entre las teclas asignadas,
CHOICE emitirá un sonido de advertencia (es decir, enviará un carácter BEL o 07h a la consola).
Si CHOICE detecta una condición de error, devolverá un valor ERRORLEVEL de 255. Si el
usuario presiona CTRL+INTERRUMPIR o CTRL+C, CHOICE devolverá un valor ERRORLEVEL de 0.
Cuando utilice parámetros de ERRORLEVEL en un programa de procesamiento por lotes,
lístelos en orden decreciente.
ejemplo
choice /c:snc
el usuario verá lo siguiente al iniciar CHOICE:
[S,N,C]?
Si le agrega texto a la sintaxis,
choice /c:snc Sí, No o Continuar
el usuario verá lo siguiente al iniciar CHOICE:
Sí, No o Continuar [S,N,C]?
5.4.8 FOR (Para)
Sirve para ejecutar un mandato sobre un conjunto de ficheros que cumplen un determinado
patrón o plantilla.
Sintaxis
Para usar FOR en un programa de procesamiento por lotes, utilice la siguiente sintaxis:
FOR %%variable IN (conjunto) DO comando [parámetros-del-comando]
Para usar FOR desde el símbolo del sistema, utilice la siguiente sintaxis:
FOR %variable IN (conjunto) DO comando [parámetros-del-comando]
Parámetros
%%variable o %variable
Representa una variable reemplazable. El comando FOR reemplazará %%variable (o %variable)
con cada cadena de texto en el conjunto especificado hasta que el comando (especificado en el parámetro
comando) haya procesado todos los archivos.
Use %%variable para ejecutar el comando FOR dentro de un programa de procesamiento por
lotes.
Use %variable para ejecutar el comando FOR desde el símbolo del sistema.
(conjunto)
Especifica uno o más archivos o cadenas de texto que serán procesados con el comando
especificado. Se requiere el uso de los paréntesis.
Comando
Especifica el comando que será aplicado a cada archivo incluido en el grupo indicado.
Parámetros-del-comando
Especifica cualquier parámetro o modificador que desee utilizar con el comando especificado (si
el comando especificado utiliza parámetros o modificadores).
Uso de la variable reemplazable
Para evitar confusión con los parámetros de procesamiento por lotes %0 a %9, podrá utilizar
cualquier carácter para variable, excepto los números del 0 al 9. Para programas de procesamiento por
lotes, un solo carácter tal como %%F podría ser suficiente.
Podrá usar valores múltiples para variable en programas de procesamiento por lotes complejos a
fin de distinguir entre las distintas variables reemplazables. Sin embargo no podrá anidar (agregar)
múltiples comandos FOR en la misma línea de comandos.
Especificación de un grupo de archivos
El parámetro conjunto puede representar un solo grupo de archivos o varios grupos de archivos.
Se pueden utilizar los comodines (* y ?) para especificar un conjunto de archivos. Los siguientes son
conjuntos de archivos válidos:
(*.doc)
(*.doc *.txt *.me)
(ene*.doc ene*.inf feb*.doc feb*.inf)
(ar??1991)
Cuando se use el comando FOR, el primer valor en conjunto reemplazará %%variable (o
%variable) y MS-DOS ejecutará el comando especificado a fin de poder procesar este valor. Esta
operación continuará hasta que MS-DOS haya procesado todos los archivos (o grupos de archivos) que
corresponden al valor (o los valores) en conjunto.
Ejemplos
Supongamos que desea usar el comando MORE para presentar el contenido de todos los archivos
del directorio actual que tengan la extensión .DOC o .TXT. Para hacer esto y usar la variable
reemplazable %F, escriba el siguiente comando a continuación del símbolo del sistema:
for %f in (*.doc *.txt) do more < %f
5.4.9 CALL
Permite llamar a un proceso por lotes desde otro sin detener la ejecución del primero.
Sintaxis
CALL [unidad:][ruta] nombrearchivo [parámetros-lotes]
Parámetros
[unidad:][ruta]nombrearchivo
Especifica la posición y el nombre del programa de procesamiento por lotes que desee llamar. El
nombre del archivo deberá contener una extensión .BAT.
Parámetros-lotes .
Especifica cualquier información para la línea de comandos que el programa de procesamiento
por lotes requiera.
Uso de parámetros-lotes
Parámetros-lotes podrá incluir cualquier información que se pueda suministrar a un programa de
procesamiento por lotes, incluyendo modificadores, nombres de archivos, los parámetros reemplazables
%1 a %9 y las variables de entorno tales como %baud%.
Uso de símbolos de canalización y redirección
No utilice signos de canalización ("|") o de redirección ("<<","<",">", y ">>") con el comando
CALL.
Llamadas recursivas
Puede crear un programa de procesamiento por lotes que se llame a sí mismo, pero necesitará
incluir una condición de salida. De lo contrario, podría crearse una operación de bucle infinita entre el
programa de procesamiento por lotes padre y el programa de procesamiento por lotes hijo.
5.5 Variables de entorno.
Las variables de entorno pueden ser empleadas en los archivos batch de una forma sencilla; basta
con referenciar el nombre de la variable encerrando entre el signo %. La variable path se referenciaría
como %path%.
También podemos crear nuestras propias variables de entorno. Para crear nuestra variable de
entorno lo haremos de la siguiente forma:
set nom-var=texto
Esa variable de entorno solo se podrá utilizar dentro de ficheros de procesos por lotes.
5.5.1 PATH (Ruta de acceso)
Indica en qué directorios MS-DOS realizará la búsqueda de archivos ejecutables.
La ruta de búsqueda predeterminada es el directorio actual.
Sintaxis
PATH [[unidad:]ruta[;...]]
Para presentar la ruta de búsqueda actual, utilice la siguiente sintaxis:
PATH
Para borrar la especificación de cualquier ruta de búsqueda, menos la predeterminada (el directorio
actual), utilice la siguiente sintaxis:
PATH ;
Parámetros
[unidad:]ruta
Especifica la unidad, el directorio y los subdirectorios donde se realizará la búsqueda.
;
Cuando se utilice como parámetro único, borrará todas las rutas de búsqueda especificadas e
indicará a MS-DOS que realice la búsqueda solamente en el directorio actual.
Orden de búsqueda
MS-DOS buscará primero en el directorio actual y luego en los directorios según el orden que
estén en el PATH
Límite de longitud del comando PATH
La longitud máxima del comando PATH es de 127 caracteres. Para colocar un número mayor de
directorios en la ruta de búsqueda, puede abreviar los nombres de los directorios, utilizar el comando
SUBST para redirigir los directorios a unidades lógicas (lo que acorta las entradas en la línea del
comando PATH) o usar el comando APPEND /X:ON .
Archivos con el mismo nombre pero extensiones diferentes
Es posible que tenga archivos con el mismo nombre pero con extensiones diferentes en un
directorio. Por ejemplo, podría tener un archivo llamado CUENTAS.COM que iniciará un programa de
contabilidad y otro llamado CUENTAS.BAT que conectará su PC con la red de contabilidad.
MS-DOS buscará los archivos utilizando sus extensiones predeterminadas en el siguiente orden
de prioridad: .COM, .EXE y .BAT. Para ejecutar CUENTAS.BAT cuando CUENTAS.COM esté en el
mismo directorio, deberá incluir la extensión .BAT en la línea de comandos.
Ampliar la ruta de acceso
Si la variable de entorno path ya tiene una ruta y queremos ampliarla lo haremos de la siguiente
forma:
path=%path%;c:\dos
Hay que tener en cuenta que esta línea se puede incluir en un fichero .bat.
5.6 PRÁCTICAS 5
1.-) Instalar el mandato DOSKEY reservando un buffer de 2 Kb y que trabaje en modo de inserción.
2.-) Crea la siguientes macros:
Llamada “dird” que visualice solo los directorios.
Llamada “copcon” que reciba dos ficheros como parámetro, los concatene y borre el segundo.
Llamada “diro” que visualice todos los ficheros ocultos y no ocultos.
3.-) Realizar un fichero bat que se le pase un parámetro y tiene que contestar si existe o no esa macro.
4.-) Crear un centinela de eliminación que:
- Proteja la unidad A:
-Los fichero .BAT .EXE
-Que se guarden los archivos para dos días.
5.-) Borre algún fichero y luego intente restaurarlo.
6.-) Si no tiene ningún directorio con fichero, créelo, y a continuación borre el directorio e intente
restaurarlo.
7.-) Crea un fichero bat que nos indique si existe o no un fichero que se le pase como parámetro. (En todo
el disco).
8.-) Realizar un proceso por lotes que muestre al usuario un menú donde se le dé opción a formatear
discos de alta o de baja densidad, y que realice el formateo indicando que tipo está formateando.
9.-) Realizar un fichero bat que permita copiar un número indeterminado de ficheros en el directorio
A:\DOS. Los ficheros se pasarán como parámetros.
10) Crea un fichero bat que realice la instalación de una aplicación que deberá ser suministrada en
disquete. El proceso por lotes deberá crear, si no existe, el directorio APLI, que será en donde resida la
aplicación, copiar todos los ficheros del disco y mostrar mensajes después de cada operación.
11) Crear un fichero bat que mueva los ficheros con una extensión determinada, de un directorio de origen
a otro directorio de destino. Los directorios de origen y destino, así como la extensión de los ficheros, se
pasarán como parámetros, primero los directorios y seguidamente la extensión.
12) Crear un fichero bat que visualice por pantalla el contenido de unos ficheros que cumplan un patrón
determinado. Dicho patrón/es se le pasa como parámetro.
13) Crear un fichero bat que permita aumentar, en el número que se quiera, el camino de búsqueda en un
ordenador.
14) Crear una variables de entorno que contengan rutas, y a continuación crear un proceso por lotes que
utilice estas variables.
Descargar