Ouvrir/fermer le lecteur CD avec un bat

Résolu/Fermé
freeze - 25 juil. 2008 à 18:01
 LIAMSI3456 - 9 mai 2016 à 19:05
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

thib0787
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
175
26 juil. 2008 à 12:23
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
0
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
27 juil. 2008 à 12:00
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

@+
5
en vbs il marche super bien merci !

mais en batch (cmd) avec windows vista ça ne fonctionne pas.
il m'affiche "Accès Refusé." et Windows ne trouve pas 'I:\OpenClose.vbs'."

Est-que quelqu'un peut m'aider ?
0
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60 > Dean76
5 janv. 2009 à 22:08
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 !
0
questionneur
20 déc. 2009 à 20:33
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,
0
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...
0
Pas mal du tout le sript
0
l'ouverture mécanique et fermeture mécanique du lecteur (éjection) qui fait le bruit dzzzzrrrrrrrrrrrrrrrt
4
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
26 juil. 2008 à 12:42
salut es que pour lancer votre vbs on doit avoir un compilateur sous xp !!!
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arrial
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
249
28 juil. 2008 à 14:13
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 ?)
3
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
22 mars 2009 à 16:18
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 ??
3
arrial
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
249
25 juil. 2008 à 18:20
Qu'est-ce que tu entends par ouvrir/fermer ?
2
arrial
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
249
25 juil. 2008 à 18:39
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é.
2
HostOfSeraphim
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 623
26 juil. 2008 à 12:50
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...

0
thib0787
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
175
26 juil. 2008 à 12:45
non, tu entre le code dans un fichier texte et ensuite tu lui met l'extension .vbs
1
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
26 juil. 2008 à 13:15
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 ?
1
thib0787
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
175
26 juil. 2008 à 13:37
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 ...
1
non c'est visual basic script, d'où le s à la fin. ;)
0
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
26 juil. 2008 à 14:53
[[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 ?
1
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
26 juil. 2008 à 15:03
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
1
thib0787
Messages postés
889
Date d'inscription
jeudi 10 juillet 2008
Statut
Membre
Dernière intervention
21 septembre 2013
175
26 juil. 2008 à 19:05
normalement pas besoin d'installer quelque chose, sa fonctionne sur un pc venant juste d'être reformaté (a vide sans rien d'installer )
1
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
27 juil. 2008 à 11:55
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
1
arrial
Messages postés
1745
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
22 mai 2017
249
28 juil. 2008 à 08:51
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.
1
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
28 juil. 2008 à 11:25
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 !!
1
hamza_0081
Messages postés
242
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
26 avril 2009
60
28 juil. 2008 à 11:34
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 !!
1
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
1
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
0
LIAMSI3456 > SenVara
9 mai 2016 à 19:05
Pour faire des loops avec .vbs il faut mettre 'do' au debut et 'loop' à la fin ;)
0
tonylapatate
3 juin 2011 à 22:05
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!!
0
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
0
de rien d'avance
0
l'ouverture mécanique et fermeture mécanique du lecteur (éjection) qui fait le bruit dzzzzrrrrrrrrrrrrrrrt
0