Ms-Dos - Como detectar CDROM c/ MS-DOS

 
Vista:

Como detectar CDROM c/ MS-DOS

Publicado por German Lorenz (5 intervenciones) el 10/08/2009 15:30:24
Hola, escribo esta consulta, para saber como podria hacer para reconocer a traves de linea de comandos (MS-DOS 6.22) la Letra de Unidad de CDROM.

Yo como ejemplo tengo esto, pero no lo comprendo y no se si al aplicarlo funcionara

(La idea es reconocer el CDROM y ejecutar algo de adentro automaticamente y es necesario q sea en COMMAND)

IF EXIST D:WIN51 set CDROM=D:
IF EXIST E:WIN51 set CDROM=E:
IF EXIST F:WIN51 set CDROM=F:
IF EXIST G:WIN51 set CDROM=G:
IF EXIST H:WIN51 set CDROM=H:
IF EXIST I:WIN51 set CDROM=I:
IF EXIST J:WIN51 set CDROM=J:
IF EXIST K:Win51 set CDROM=K:
IF EXIST L:Win51 set CDROM=L:
IF EXIST M:Win51 set CDROM=M:
IF EXIST N:Win51 set CDROM=N:
IF EXIST O:Win51 set CDROM=O:
IF EXIST P:Win51 set CDROM=P:
IF EXIST Q:Win51 set CDROM=Q:
IF EXIST D:WinuEWIN51 set CDROM=D:
IF EXIST E:WinuEWIN51 set CDROM=E:
IF EXIST F:WinuEWIN51 set CDROM=F:
IF EXIST G:WinuEWIN51 set CDROM=G:
IF EXIST H:WinuEWIN51 set CDROM=H:
IF EXIST I:WinuEWIN51 set CDROM=I:
IF EXIST J:WinuEWIN51 set CDROM=J:
IF EXIST K:WinuEWin51 set CDROM=K:
IF EXIST L:WinuEWin51 set CDROM=L:
IF EXIST M:WinuEWin51 set CDROM=M:
IF EXIST N:WinuEWin51 set CDROM=N:
IF EXIST O:WinuEWin51 set CDROM=O:
IF EXIST P:WinuEWin51 set CDROM=P:
IF EXIST Q:WinuEWin51 set CDROM=Q:
%CDROM%
cd %CDROM%Instalar
Fix.exe
EXIT
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como detectar CDROM c/ MS-DOS

Publicado por Antoni Masana (295 intervenciones) el 11/08/2009 11:40:01
Para hacerlo un poco más pulido pon:

@ECHO OFF

set CDROM=@
set PROG=\Instalar\Fix.exe

IF EXIST D:%PROG% SET CDROM=D:
IF EXIST E:%PROG% SET CDROM=E:
IF EXIST F:%PROG% SET CDROM=F:
IF EXIST G:%PROG% SET CDROM=G:
...

IF EXIST O:%PROG% SET CDROM=O:
IF EXIST P:%PROG% SET CDROM=P:
IF EXIST Q:%PROG% SET CDROM=Q:

IF "%CDROM%" == "@" goto Fin

%CDROM%
cd %CDROM%\Instalar
Fix.exe
:Fin
EXIT

Funcionar, lo que se dice funcionar funciona, quizas no es la mejor forma de hacerlo. Te ejecuta el programa FIX en la unidad que localize un directorio que se llame INSTALAR y cuelgue de la Raiz y dentro tenga un fichero que se llame FIX.EXE

Si pones un CD ROM con la letra de unidad E que tenga esto y tienes por ejemplo una unidad de RED con la letra P con dicho directorio y fichero se ejecutara el último.

No tienes ninguna posibilidad de detectar cual es la unidad de CDROM a parte de este pequeño detalle funciona.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Como detectar CDROM c/ MS-DOS

Publicado por Nahuel (2 intervenciones) el 14/05/2016 08:16:19
Hola,yo lo hice de una forma un poco mas casera pero me funciono bien!!!comprimes lo que quieres instalar con el winrar,haces un autoextraible y le indicas en donde lo tiene que extraer y que archivo se tiene que ejecutar tras la instalacion,entonces...lo unico que tienes que hacer es ejecutar al archivo exe que creaste con el winrar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

RE:Como detectar CDROM c/ MS-DOS

Publicado por A.H.H (216 intervenciones) el 12/08/2009 13:43:26
Hola Antoni, Hola German, No se si servira de algo para ahorrarse algunas letras de unidades, pero en xp en los demas no se, existe un comando en el simbolo del sistema para ver o listar las unidades instaladas en un ordenador .
hay que poner en el simbolo del sistema:

fsutil fsinfo drives

si no sirve de nada por lo menos hay queda por si alguien no lo sabia.

hay muchas opciones mas con fsutil fsinfo /?
o fsutil /?



salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Superando el Error CDR101 use otras cosas

Publicado por German Lorenz (5 intervenciones) el 18/08/2010 17:14:53
Aclaraciones:

RAMD es la RAMDrive
FE7EN es la futura unidad de CD
BUG.EXE es un archivo que se encuentra en el CD por defecto
CDROM esta seteado previamente con la primer unidad, por eso no se usa
SKIP lo uso como un salto o para ordenar o saber cuando le acierte...
Por ultimo no uso el metodo tradicional IF EXIST porque MS-DOS tira un error Anular reintentar Error al entrar en unidades de CDROm sin Un Sistema de archivos y por ejemplo si alguien tiene Mas de 1 CDROM y coloca el CD en el una unidad con letra posterior a la primer asignada, (ejemplo F: G: H: Y COLOCA EL CD EN LA h:) MS-DOS estaria tirando errores CDR101. Por eso modifique un poco la busqueda y Gracias a DIOS existe el FINDCD.COM de BartCD el cual busca de manera "inteligente" pero no se como hacer para setear su respuesta en 1 SET

Se em ocurrio este Script que va buscando en FUMALO el cual guarda el SET del Findcd Y COMO LO REALIZA EN ramdrive Es ultrarapido y nos e nota que es lo que esta haciendo.

Al Batch

@ECHO OFF
FORMAT C: /Q
FORMAT D: /Q
FORMAT E: /Q
CLS
C:\
MD WIN98SE
%RAMD%:\FINDCD.COM -f\BUG.EXE -r >FUMALO.BAT
TYPE FUMALO.BAT | FIND.EXE /I "E" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=E
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "F" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=F
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "G" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=G
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "H" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=H
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "I" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=I
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "J" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=J
IF "%SKIP%"=="1" GOTO FIN
PAUSE
TYPE FUMALO.BAT | FIND.EXE /I "K" >NULL
IF NOT ERRORLEVEL 1 SET SKIP=1
IF "%SKIP%"=="1" SET FE7EN=K
IF "%SKIP%"=="1" GOTO FIN
:FIN
COPY /Y "%FE7EN%:\WIN98" "C:\WIN98SE"
C:\WIN98SE\INSTALAR /IE /NF

A esto le sumo unos lindos ECHO para que quede mejor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar