Ouvrir/fermer le lecteur CD avec un bat [Résolu/Fermé]

Signaler
-
 LIAMSI3456 -
Bonjour,
quelle est l'instruction qui permet d'ouvrir/fermer le lecteur CD dansun fichier batch BATou autre language supporté par windows (car je ne possède aucun compilateur)
merci

24 réponses

Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
173
Salut, jai trouver quelque chose,

tu peut lancer un .vbs depuis ton bat pour ouvrir le lecteur (pas le fermer)

voici le 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
10
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
salut pour ovrire et puis fermer votre lecteur mais s'il est deja ouvert il le ferme ....
g trouver ce tuto 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 votre cd rom est fermer"

et sur cmd g trouver ce si

echo off && Cls && Mode 55,5 && Color 4f && Title Open Cd
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
echo Preparing To Run The 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 "YOUR CD IS: " ^& 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 ("Press key To Close Cd" ^& vbcrlf ^& " The Cd Will Close", 0 + 64, "Open Close Cd Tray")
>> %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




on peut utilise la meme methode dos avec le premier script je teste et si ca marche je vs envoy le code

@+
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60 > Dean76
bon soire
je ne suit pas un expere et en plus g piqué ce scripte d'un autre forum [désolez je ne me souvien plus du lien]


tu peut tous simplemelnt suprime si la commande start ds la ligne
start %vbs% et le scripte sera :





echo off && Cls && Mode 55,5 && Color 4f && Title Open Cd
Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs
echo Preparing To Run The 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 "YOUR CD IS: " ^& 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 ("Press key To Close Cd" ^& vbcrlf ^& " The Cd Will Close", 0 + 64, "Open Close Cd Tray")
>> %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% 'ici la lign qui a ete modifier
exit





a premiere vu ton system [os] est installer sur le volume I:\ en abitude le windows est installer sur le volume C:\
les deux instruction suivante a pour rolle de cré deux variable vbs et vbs1

Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs

dont votre cas les variable vbs et vbs1 ont les valeur suite

vbs=I:\OpenClose.vbs
vbs1=I:\RemoveVBS.vbs

la lign suivant :start %vbs%
fait appelle au fichier dont sont nom est porter sur la variable vbs et comme vbs=I:\OpenClose.vbs
elle execute le fichier (OpenClose.vbs)

comme votre syystem ne trouve pas le fichier qui doit etre cree su le I: esseyer de remplacer les lignes

Set VBS=%systemdrive%\OpenClose.vbs
Set VBS1=%systemdrive%\RemoveVBS.vbs

par

Set VBS=I:\OpenClose.vbs
Set VBS1=I:\RemoveVBS.vbs

sa peut que la variable defini par défault %systemRoot% ne soit presante sur la version dos de viste [je ne suis pas sur]

une autre chose aussi tu peut tous simplemelnt suprime si la commande start ds la ligne
start %vbs%


bonne chance j'espre que ca marchera pour toi si no tu suis a votre service :-)


en fin je peut vous proposer un script plus simple en dos [un batch qui genere un scrit vbs :-)]



@echo off&&color 0a&& title Ouverture Du lecteur CD-room&& mode 55,5
set vbs=c:\openCD.vbs 'ou bien I:\openCD.vbs
echo ouverture du tirroire ...
>>%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 votre cd rom est fermer"
%vbs%
del %vbs%




tu peut changer le volume I: par un autre de votre choix !

salut hamza;
dans ton script j'aperçois "ping -n 12 127.0.0.1>nul" est ce que ça fait partir du script pour ouvrir et fermer le lecteur ou c'est une erreur?
cordialement,
127.0.0.1 c'est un ping local de l'ordinateur la apparemment on souhaite faire un ping sur son propre pc en gros... J'ai la flemme de lire tous le code mais voila...
Pas mal du tout le sript
Ça sert à faire un sleep de 1 seconde et le >nul permet de rediriger la sortie vers rien ainsi donc de ne pas l'afficher
l'ouverture mécanique et fermeture mécanique du lecteur (éjection) qui fait le bruit dzzzzrrrrrrrrrrrrrrrt
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
salut es que pour lancer votre vbs on doit avoir un compilateur sous xp !!!
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
243
D'accord. Vbscript est un langage non compilé, comme on n'était pas obligé de compiler du QuickBasic pour l'éxécuter. Il fonctionne sous Windows Scripting Host, un interpréteur de scripts pour les systèmes Microsoft Windows, donc sous Windows ‼
▼▼▼
https://www.commentcamarche.net/contents/1187-introduction-a-vbscript
▲▲▲

Truc bon à savoir : je vai caser ça dans mes archives …

@+
(tu as vu que tes messages sont postés en double ?)
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
bon soir , je sais que le problème est résolut mais j'aime a jouté un petit truque génial c le >>nircmd<<
vous pouvait faire plain de chose comme ouvrir le tiroirs de ton choix rendre un fenêtre transparente ou invisible cacher le desktop le bouton demander !!!!!! fermer meme le moniteur !!!
faire un screenshote !!!!! et beaucoup d autre chose :-] genial nespas ??
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
243
Qu'est-ce que tu entends par ouvrir/fermer ?
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
243
Je doute que cmd (remplaçant du DOS) ait ce genre de commande. En tout cas, je n'en connais pas.

Il faudrait voir dans les fichiers d'autorun de certains CD pour voir comment ils font. Si ça n'est pas compilé.
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 522
Ca ne serait pas illogique d'avoir une commande pour cela, mais effectivement, il n'y en a pas de "simple"...

Alors que sous Linux, il y a une commande eject...

Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
173
non, tu entre le code dans un fichier texte et ensuite tu lui met l'extension .vbs
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
non, tu entre le code dans un fichier texte et ensuite tu lui met l'extension .vbs
s'exécute son aucun compilateur seulement l'xp tu veut me dir que cette extension (*.vbs) est exécutable sous windows ??
es c ds quelle langue de programmation , es que c le visuel basic ?
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
173
oui vbs c'est Visual Basic,

et j'en sais rien moi j'ai Windows XP, et je rentre ce code dans un fichier texte que je renomme en .vbs a la place de .txt et quand je clic dessus le lecteur CD s'ouvre, je cherche pas plus loin !!!
c'est XP qui doit faire la compilation et l'exécution, ou un truc du genre, tant que sa fonctionne ...
non c'est visual basic script, d'où le s à la fin. ;)
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
[[oui vbs c'est Visual Basic,

et j'en sais rien moi j'ai Windows XP, et je rentre ce code dans un fichier texte que je renomme en .vbs a la place de .txt et quand je clic dessus le lecteur CD s'ouvre, je cherche pas plus loin !!!
c'est XP qui doit faire la compilation et l'exécution, ou un truc du genre, tant que sa fonctionne ...]]


je crois si tu a installer visuel basique ca veut dir que c'est luis qui fait la compilation c logique non ?
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
genial ca marche chez moi mai je ne sais pas si ca marchera chez n'iporte qui ou pas ?
car moi g pas installer le visual basic
ou je peut trouvé des tuto pour ce genre de script
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
173
normalement pas besoin d'installer quelque chose, sa fonctionne sur un pc venant juste d'être reformaté (a vide sans rien d'installer )
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
salut je me lance sur les vbs et depuis g decouvert des tat de chose la plus marrante c'est c'elle de cree un spam pour envoyer des centenne de message sur un messenger quel que soit skype ou msn yahoo...
c vraiment cool
merci les gas
bye
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
243
Salut,


J'apprends encore quelque chose en fréquentant les forums, merci à vous.
Dont un fichier cmd *.bat peut lancer un fichier basic, et sans doute pascal, fortran, C, … ?

Cela peut s'expliquer par le fait que les commandes utilisées sont simples (pas orientées "objet", … ) ne comportent que les premières "démocratisations" du langage machine, pour les quelles ces langages, compilés ou non, ont été créés.

Encore MERCI ‼


@+ sur CÇM.
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
salut arrial
ce code lance un script ecrit en vbscript qui a l'extention *.vbs et windows l'execute a l'aide du wscript c'est un language interpreté pas comme le pascal qui est compilé par un compilateur comme le turbo
je doute que on peut le lancer (le pascal) par le cmd je ne sais pas pour fortron ? mais le c et c++ il te faut un cimpilateur pour lancer des scripts par contre le javascript et le pythonscript on peut.........
a cause du WSH je croie !

ce script ce n'est pas le mien je lé pique d'un autre forume car g aimer , la facon dont on gere les commandes !!
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
salut arrial
ce code lance un script ecrit en vbscript qui a l'extention *.vbs et windows l'execute a l'aide du wscript c'est un language interpreté pas comme le pascal qui est compilé par un compilateur comme le turbo
je doute que on peut le lancer (le pascal) par le cmd je ne sais pas pour fortron ? mais le c et c++ il te faut un cimpilateur pour lancer des scripts par contre le javascript et le pythonscript on peut.........
a cause du WSH je croie !

ce script ce n'est pas le mien je lé pique d'un autre forume car g aimer , la facon dont on gere les commandes !!
moi je me suis amusé a dupliquer le code plusieurs centaines de fois comm sa le lecteur s'ouvre tout le temps et si on veut embeter un nul en informatique il suffit d'en faire une tache planifiée
Ou tu fais une boucle c'est tellement plus simple
par exemple:

iCpt=0
Do While iCpt=0
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
Loop
> SenVara
Pour faire des loops avec .vbs il faut mettre 'do' au debut et 'loop' à la fin ;)

ou alors en vbs pour ouvrir il y'a:

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

sans fermer bien sur
et c'est encore plus simple et tu peux le faire marcher depuis dos!!
c'est tres simple tapez sa 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("Vous avez mis le disque?",+16,"Disque")
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
End If
de rien d'avance
l'ouverture mécanique et fermeture mécanique du lecteur (éjection) qui fait le bruit dzzzzrrrrrrrrrrrrrrrt