Cómo detectar una unidad DoubleSpace desde un archivo por lotes

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

101884
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Esta información se aplica a Microsoft DoubleSpace y DriveSpace de Microsoft. Para MS-DOS 6.22 utilice DRVSPACE en lugar de DBLSPACE para comandos y nombres de archivo.
Resumen
Archivos de proceso por lotes de MS-DOS no pueden distinguir entre las unidades comprimidas y unidades sin comprimir. Sin embargo, puede utilizar la utilidad de depuración de MS-DOS para crear un programa que establece una errorlevel dependiendo de si una unidad está comprimida con DoubleSpace. Un archivo de proceso por lotes de MS-DOS, a continuación, puede probar esta errorlevel para determinar si la unidad es una unidad DoubleSpace-comprimido.

Nota: Servicios de soporte técnico de Microsoft no proporcionan compatibilidad para escribir el archivo de lote o secuencia de comandos de Debug se describe en este artículo o solucionar problemas relativos a compilar, ejecutar o utilizar este programa o archivo por lotes.
Más información
A continuación es un ejemplo de cómo utilizar la utilidad de depuración de MS-DOS para crear un archivo de programa denominado ISDBL.COM. ISDBL.COM determina lo siguiente:

  • Si está cargado en memoria o DoubleSpace - y -

  • Si una unidad especificada es una unidad comprimida DoubleSpace
ISDBL.COM devuelve el siguiente errorlevels:
   Results                         Errorlevel   ------------------------------------------   DoubleSpace compressed drive         1   DBLSPACE.BIN is not loaded           0   Invalid drive                        0   Other errors                         0				
Nota: ISDBL.COM comprueba la unidad actual si no se especifica ninguna unidad en la línea de comandos.

Crear ISDBL.COM

ISDBL.COM se crea utilizando un archivo de secuencia de comandos de Debug, que contiene todos los comandos que escribiría desde dentro de DEBUG crear ISDBL.COM.

Para crear ISDBL.COM, siga estos pasos exactamente:

  1. Cree un archivo de texto denominado C:\ISDBL.SRC mediante un texto editor (como el Bloc de notas de Windows o en el Editor de MS-DOS). Éste es el archivo de secuencia de comandos de depuración. C:\ISDBL.SRC debe contener las siguientes líneas exactamente como aparecen.

    Nota: Presione la tecla ENTRAR al final de cada línea siguiente.
          A 100      MOV AX,2901      MOV SI,81      MOV DI,012D      INT 21      MOV DL,[012D]      DEC DL      JGE 0119      MOV AH,19      INT 21      MOV DL,AL      MOV AX,4A11      MOV BX,1      INT 2F      MOV AX,4C00      AND BL,80      JZ 012B      INC AL      INT 21      RCX      AE      N ISDBL.COM      W      Q						
    Nota: se debe presionar la tecla ENTRAR dos veces después del último "INT 21" línea y una vez después de "P" al final de la depuración script.
  2. Desde la línea de comandos en la unidad C, escriba el siguiente comando para crear el programa ISDBL.COM:
          DEBUG < ISDBL.SRC						
    Debug lee y sigue las instrucciones en el archivo ISDBL.SRC. Se recomienda que no utilizan este comando desde dentro de Windows o cuando se ejecutan otros programas. Si ISDBL.SRC contiene un error, depuración probablemente no es indicará al salir; por lo tanto, tendrá de reiniciar el sistema. Incluso se puede instruir depuración para hacer que el sistema deja de responder (se bloquea). Si esto ocurre, reinicie el sistema y examine ISDBL.SRC precisión.

    Si no hay ningún error en ISDBL.SCR, unas cuantas pantallas de información aparecen, terminando con
    <nnnn>: 012B INT 21
    <nnnn>: 012D
    -RCX
    CX 0000
    AO:
    -N ISDBL.COM
    -W
    Bytes de escritura 000AE
    -Q
    donde <nnnn> es que una combinación de letras y números, se va incrementando y la combinación exacta de los cuales varía. La información restante debe ser exactamente como anteriormente si ISDBL.COM se compiló correctamente.

    Debug coloca el archivo ISDBL.COM en el directorio actual, que en el ejemplo anterior es C:\. Debe ser 174 bytes de tamaño.

Mediante ISDBL.COM

Ahora puede ejecutar el programa ISDBL.COM desde dentro de un archivo por lotes para obtener información sobre una unidad específica. A continuación es un archivo de proceso por lotes de ejemplo:

DBLTEST.BAT

   @ECHO OFF   REM This batch file uses ISDB.COM to test a drive to see if it   REM was compressed with DoubleSpace.   REM   REM DBLTEST.BAT assumes that ISDBL.COM in in the current   REM directory or a directory on the MS-DOS Path.   REM   REM The syntax for running this batch file is:   REM    DBLTEST <drive>:   REM   REM where <drive>: is the name of the drive to test, for example C:   REM If no drive is specified, the current drive is tested.   REM   ISDBL %1   IF NOT ERRORLEVEL 1 GOTO FAILURE   ECHO The drive %1 is a DoubleSpace compressed drive.   GOTO END   :FAILURE   ECHO The drive %1 is not a DoubleSpace compressed drive.   :END				

Cómo funciona ISDBL

Para determinar si la unidad está comprimida, ISDBL asume que se está ejecutando DoubleSpace.

ISDBL comprueba la unidad especificada utilizando la interrupción 2F, 4A11 de función. Esta función es llamar la interfaz de programación de aplicaciones (API) DSGetDriveMapping para DoubleSpace. Si la unidad está comprimida, se establecerá bit 7 de BL. De lo contrario, es cero. Al final de ISDBL simplemente se devuelve este resultado.
Referencias
6,00 6.20

Warning: This article has been translated automatically

Propiedades

Id. de artículo: 101884 - Última revisión: 02/06/2014 21:51:59 - Revisión: 1.0

  • Microsoft MS-DOS 6.0 Standard Edition
  • Microsoft MS-DOS 6.2 Standard Edition
  • Microsoft MS-DOS 6.22 Standard Edition
  • kbnosurvey kbarchive kbmt KB101884 KbMtes
Comentarios