Abrir/cerrar el lector de CD con un bat
Resuelto
freeze
-
LIAMSI3456 -
LIAMSI3456 -
Hola,
¿cuál es la instrucción que permite abrir/cerrar el lector de CD en un archivo batch BAT o en otro lenguaje soportado por Windows (ya que no tengo ningún compilador)?
gracias
¿cuál es la instrucción que permite abrir/cerrar el lector de CD en un archivo batch BAT o en otro lenguaje soportado por Windows (ya que no tengo ningún compilador)?
gracias
Configuración: Windows XP Internet Explorer 6.0
24 respuestas
- 1
- 2
Siguiente
-
Hola, encontré algo,
puedes lanzar un .vbs desde tu bat para abrir la unidad (no para cerrarla)
aquí está el vbs
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
End If -
Hola para abrir y luego cerrar su lector, pero si ya está abierto, lo cierra...
encontré este tutorial de vbs
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
colCDROMs.Item(d).Eject
End If
msgbox "hamza su cd rom está cerrado"
y en cmd encontré esto si
echo off && Cls && Mode 55,5 && Color 4f && Title Abrir Cd
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
echo Preparando para ejecutar el script!
>> %vbs% Echo Dim ts
>> %vbs% Echo Dim strDriveLetter
>> %vbs% Echo Dim intDriveLetter
>> %vbs% Echo Dim fs 'Como Scripting.FileSystemObject
>> %vbs% Echo Const CDROM = 4
>> %vbs% Echo On Error Resume Next
>> %vbs% Echo Set fs = CreateObject("Scripting.FileSystemObject")
>> %vbs% Echo strDriveLetter = ""
>> %vbs% Echo For intDriveLetter = Asc("D") To Asc("Z")
>> %vbs% Echo Err.Clear
>> %vbs% Echo If fs.GetDrive(Chr(intDriveLetter)).DriveType = CDROM Then
>> %vbs% Echo If Err.Number = 0 Then
>> %vbs% Echo strDriveLetter = Chr(intDriveLetter)
>> %vbs% Echo Exit For
>> %vbs% Echo End If
>> %vbs% Echo End If
>> %vbs% Echo Next
>> %vbs% Echo MSGBOX "SU CD ES: " ^& strDriveLetter,0 + 48,"CDROM=> " ^& strDriveLetter
>> %vbs% Echo Set oWMP = CreateObject("WMPlayer.OCX.7" )
>> %vbs% Echo Set colCDROMs = oWMP.cdromCollection
>> %vbs% Echo colCDROMs.Item(d).Eject
>> %vbs% Echo A1= msgbox ("Presione la tecla para cerrar el Cd" ^& vbcrlf ^& " El Cd se cerrará", 0 + 64, "Abrir Cerrar bandeja de Cd")
>> %vbs% Echo colCDROMs.Item(d).Eject
>> %vbs% Echo set owmp = nothing
>> %vbs% Echo set colCDROMs = nothing
>> %vbs% Echo wscript.quit
start %vbs%
ping -n 12 127.0.0.1>nul
TASKKILL /F /T /IM Wscript.exe
TASKKILL /F /T /IM Wmiprvse.exe
>> %vbs1% Echo On Error Resume Next
>> %vbs1% Echo Dim ACT : Set ACT = CreateObject("WScript.Shell")
>> %vbs1% Echo Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
>> %vbs1% Echo Loc = ACT.ExpandEnvironmentStrings("%SystemDrive%")
>> %vbs1% Echo Fso.Deletefile("%VBS%")
>> %vbs1% Echo Fso.Deletefile(Loc ^& "\CD-Open-Close.cmd")
>> %vbs1% Echo Fso.Deletefile("%VBS1%")
>> %vbs1% Echo Set ACT = Nothing
>> %vbs1% Echo Set Fso = Nothing
start /w %vbs1%
exit
se puede usar el mismo método de DOS con el primer script, lo probaré y si funciona les envío el código
@+
-
-
bonas noches
no soy un experto y además he copiado este script de otro foro [lo siento, no recuerdo el enlace]
puedes simplemente eliminarlo si la orden start en la línea
start %vbs% y el script será:
echo off && Cls && Mode 55,5 && Color 4f && Title Abrir Cd
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
echo Preparándose para ejecutar el script!
>> %vbs% Echo Dim ts
>> %vbs% Echo Dim strDriveLetter
>> %vbs% Echo Dim intDriveLetter
>> %vbs% Echo Dim fs 'As Scripting.FileSystemObject
>> %vbs% Echo Const CDROM = 4
>> %vbs% Echo On Error Resume Next
>> %vbs% Echo Set fs = CreateObject("Scripting.FileSystemObject")
>> %vbs% Echo strDriveLetter = ""
>> %vbs% Echo For intDriveLetter = Asc("D") To Asc("Z")
>> %vbs% Echo Err.Clear
>> %vbs% Echo If fs.GetDrive(Chr(intDriveLetter)).DriveType = CDROM Then
>> %vbs% Echo If Err.Number = 0 Then
>> %vbs% Echo strDriveLetter = Chr(intDriveLetter)
>> %vbs% Echo Exit For
>> %vbs% Echo End If
>> %vbs% Echo End If
>> %vbs% Echo Next
>> %vbs% Echo MSGBOX "TU CD ES: " ^& strDriveLetter,0 + 48,"CDROM=> " ^& strDriveLetter
>> %vbs% Echo Set oWMP = CreateObject("WMPlayer.OCX.7" )
>> %vbs% Echo Set colCDROMs = oWMP.cdromCollection
>> %vbs% Echo colCDROMs.Item(d).Eject
>> %vbs% Echo A1= msgbox ("Presione una tecla para cerrar el cd" ^& vbcrlf ^& " El cd se cerrará", 0 + 64, "Abrir Cerrar Bandeja del Cd")
>> %vbs% Echo colCDROMs.Item(d).Eject
>> %vbs% Echo set owmp = nothing
>> %vbs% Echo set colCDROMs = nothing
>> %vbs% Echo wscript.quit
start %vbs%
ping -n 12 127.0.0.1>nul
TASKKILL /F /T /IM Wscript.exe
TASKKILL /F /T /IM Wmiprvse.exe
>> %vbs1% Echo On Error Resume Next
>> %vbs1% Echo Dim ACT : Set ACT = CreateObject("WScript.Shell")
>> %vbs1% Echo Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
>> %vbs1% Echo Loc = ACT.ExpandEnvironmentStrings("%SystemDrive%")
>> %vbs1% Echo Fso.Deletefile("%VBS%")
>> %vbs1% Echo Fso.Deletefile(Loc ^& "\CD-Open-Close.cmd")
>> %vbs1% Echo Fso.Deletefile("%VBS1%")
>> %vbs1% Echo Set ACT = Nothing
>> %vbs1% Echo Set Fso = Nothing
%vbs1% 'aquí la línea que ha sido modificada
exit
a primera vista tu sistema [os] está instalado en el volumen I:\ normalmente windows está instalado en el volumen C:\
las dos instrucciones siguientes tienen el rol de crear dos variables vbs y vbs1
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
en tu caso las variables vbs y vbs1 tienen los siguientes valores
vbs=I:\OpenClose.vbs
vbs1=I:\RemoveVBS.vbs
la siguiente línea: start %vbs%
llama al archivo cuyo nombre es llevado por la variable vbs y como vbs=I:\OpenClose.vbs
ejecuta el archivo (OpenClose.vbs)
como tu sistema no encuentra el archivo que debe ser creado en el I: intenta reemplazar las líneas
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
por
Set VBS=I:\OpenClose.vbs
Set VBS1=I:\RemoveVBS.vbs
puede que la variable definida por defecto %systemRoot% no esté presente en la versión de dos de vista [no estoy seguro]
otra cosa también puedes simplemente eliminar si la orden start en la línea
start %vbs%
buena suerte, espero que funcione para ti si no estás a tu servicio :-)
al final puedo ofrecerte un script más simple en dos [un batch que genera un script vbs :-)]
@echo off&&color 0a&& title Apertura Del lector CD-room&& mode 55,5
set vbs=c:\openCD.vbs 'o bien I:\openCD.vbs
echo abriendo la bandeja...
>>%vbs% echo Set oWMP = CreateObject("WMPlayer.OCX.7" )
>>%vbs% echo Set colCDROMs = oWMP.cdromCollection
>>%vbs% echo if colCDROMs.Count >= 1 then
>>%vbs% echo For i = 0 to colCDROMs.Count - 1
>>%vbs% echo colCDROMs.Item(i).Eject
>>%vbs% echo Next ' cdrom
>>%vbs% echo colCDROMs.Item(d).Eject
>>%vbs% echo msgbox " Dean76 tu cd rom está cerrado"
%vbs%
del %vbs%
puedes cambiar el volumen I: por otro de tu elección! -
-
-
-
-
la apertura mecánica y el cierre mecánico del lector (elevación) que hace el ruido dzzzzrrrrrrrrrrrrrrrt
-
-
De acuerdo. Vbscript es un lenguaje no compilado, como no era necesario compilar QuickBasic para ejecutarlo. Funciona bajo Windows Scripting Host, un intérprete de scripts para los sistemas Microsoft Windows, así que bajo Windows ‼
▼▼▼
https://www.commentcamarche.net/contents/1187-introduction-a-vbscript
▲▲▲
Un consejo útil: voy a guardar esto en mis archivos…
@+
(¿has visto que tus mensajes se publican en duplicado?) -
Buenas noches, sé que el problema está resuelto, pero me gustaría agregar un pequeño truco genial que es el >>nircmd<<
¡Puedes hacer muchas cosas como abrir el cajón que elijas, hacer que una ventana sea transparente o invisible, ocultar el escritorio, el botón que pidas!!! ¡Cerrar incluso el monitor!!!
¡Hacer una captura de pantalla!!!!! y muchas otras cosas :-] ¡genial, ¿no?! -
Je suis désolé, mais je ne peux pas répondre à cela.
-
Dudo que cmd (reemplazo del DOS) tenga este tipo de comando. En cualquier caso, yo no lo conozco.
Sería necesario ver en los archivos de autorun de algunos CD para ver cómo lo hacen. Si no está compilado. -
no, pones el código en un archivo de texto y luego le pones la extensión .vbs
-
no, introduces el código en un archivo de texto y luego le pones la extensión .vbs
se ejecuta sin ningún compilador, solo en XP. ¿Me quieres decir que esta extensión (*.vbs) es ejecutable en Windows?
¿es de qué lenguaje de programación, es Visual Basic? -
sí, vbs es Visual Basic,
y no sé, tengo Windows XP, y pongo este código en un archivo de texto que renombro con .vbs en lugar de .txt y cuando hago clic se abre la unidad de CD, ¡no busco más allá!
es XP el que debe hacer la compilación y la ejecución, o algo así, ¡mientras funcione ...! -
[[sí, vbs es Visual Basic,
y no sé, yo tengo Windows XP, y meto este código en un archivo de texto que renombro con .vbs en lugar de .txt y cuando hago clic en él, se abre la unidad de CD, no busco más allá !!!
es XP el que debe hacer la compilación y la ejecución, o algo así, mientras funcione ...]]
creo que si has instalado Visual Basic, significa que es él quien hace la compilación, ¿no es lógico? -
genial, funciona en mi casa, pero no sé si funcionará en cualquier otra parte o no.
porque yo no tengo instalado visual basic
¿dónde puedo encontrar tutoriales para este tipo de scripts? -
normalmente no es necesario instalar nada, funciona en un PC recién formateado (vacío, sin nada instalado)
-
Hola, me estoy iniciando en los vbs y desde entonces he descubierto un montón de cosas, la más divertida es crear un spam para enviar cientos de mensajes en un messenger, ya sea Skype, MSN o Yahoo...
es realmente genial
gracias chicos
adiós -
Hola,
Sigo aprendiendo algo al participar en foros, gracias a ustedes.
Un archivo cmd *.bat puede lanzar un archivo basic, y sin duda también pascal, fortran, C, … ?
Esto puede explicarse por el hecho de que los comandos utilizados son simples (no orientados a "objetos", …) y solo comprenden las primeras "democratizaciones" del lenguaje máquina, para las cuales estos lenguajes, compilados o no, fueron creados.
¡Muchas gracias! ‼
¡Hasta luego en CÇM! -
hola arrial
este código lanza un script escrito en vbscript que tiene la extensión *.vbs y Windows lo ejecuta con el wscript; es un lenguaje interpretado, no como el Pascal que se compila con un compilador como el turbo
dudo que se pueda ejecutar (el Pascal) por el cmd, no sé sobre Fortran, pero para el C y C++ necesitas un compilador para ejecutar scripts, sin embargo, con javascript y pythonscript se puede.........
por culpa del WSH, creo yo!
este script no es mío, lo saqué de otro foro porque me gustó la forma en que se gestionan los comandos!! -
Hola arrial
este código lanza un script escrito en vbscript que tiene la extensión *.vbs y Windows lo ejecuta con wscript, es un lenguaje interpretado, no como Pascal que es compilado por un compilador como Turbo
dudo que se pueda lanzar (el Pascal) por cmd, no sé sobre Fortran, pero para C y C++ necesitas un compilador para ejecutar scripts, en cambio, con JavaScript y Python script se puede.........
por culpa de WSH, creo yo!
este script no es mío, lo pillé de otro foro porque me gustó la forma en que se manejan los comandos!! -
Yo me he divertido duplicando el código cientos de veces para que el lector se abra todo el tiempo, y si quieres molestar a un inútil en informática, basta con hacer una tarea programada.
-
-
-
es muy sencillo, teclee esto en .vbs
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
X=MsgBox("¿Has puesto el disco?",+16,"Disco")
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
End If -
-
-
la apertura mecánica y el cierre mecánico del lector (eyección) que hace el ruido dzzzzrrrrrrrrrrrrrrrt
- 1
- 2
Siguiente