begin process at 2010 02 10 10:58:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBScript

 > 

Lettres du/des lecteurs cd et dvd


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lettres du/des lecteurs cd et dvd

lundi 11 mai 2009 à 16:21:32 | Lettres du/des lecteurs cd et dvd

narco4

Bonjour,

je voudrait avoir un peu d'aide svp

je voudrais faire un script vbs qui me renvoi dans un fichier texte le(s) lettre(s) des lecteur cd/dvd uniquement

j'ai déjà bien avancé, mais il y'a un soucies

  Dim fso
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set FTX =  FSO.createTextFile("Lecteur cd.txt",true)
  strComputer = "."
  Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & _
  strComputer & "\root\cimv2")
  Set DI__infos = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)

  For Each objDI__ in DI__infos
      Select Case objDI__.DriveType
            Case 4 strTL
      End Select
strDI = objDI__.Name
  Next
  FTX.writeline strDI


le soucie, c'est que si il existe 2 lecteurs il ne m'en marque qu'un
merci d'avance
lundi 11 mai 2009 à 17:51:03 | Re : Lettres du/des lecteurs cd et dvd

JMO

Membre Club


 Bonjour,

wmi n'est pas indispensable. voir propriétés fso.
il faut préciser le chemin du fichier texte en sortie.
écrire fichier txt si  lecteur cd/dvd, puis le fermer.

Dim objFso, objFile, objDisk
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile =  objFso.CreateTextFile("c:\Lecteur cd.txt",True)

For Each objDisk In GetObject("winmgmts:").InstancesOf("Win32_LogicalDisk")
    If objDisk.DriveType = 5 Then objFile.WriteLine objDisk.DeviceID & " avec wmi"
Next

For Each objDisk In objFso.Drives
    If objDisk.DriveType = 4 Then objFile.WriteLine objDisk.DriveLetter & " avec fso"
Next

objFile.Close
Set objDisk = Nothing
Set objFile = Nothing
Set objFso = Nothing


jean-marc
lundi 11 mai 2009 à 18:56:43 | Re : Lettres du/des lecteurs cd et dvd

JMO

Membre Club




ou pour reprendre le script de narco4 et en modifiant la query

Const DVD_DISK = 5
Dim fso
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FTX =  FSO.createTextFile("c:\Lecteur cd.txt",true)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & _
                               strComputer & "\root\cimv2")

Set DI__infos = objWMIService.ExecQuery _
      ("Select * from Win32_LogicalDisk Where DriveType = " & DVD_DISK & "")

For Each objDI__ in DI__infos
    strDI = strDI & objDI__.Name & vbCrLf
Next
 
FTX.writeline strDI
FTX.Close



jean-marc
lundi 11 mai 2009 à 21:04:59 | Re : Lettres du/des lecteurs cd et dvd

narco4

ok, merci beaucoup c'est parfait

si je veus lister tous les disques,cd,usb

Dim objFso, objFile, objDisk
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile =  objFso.CreateTextFile("c:\Lecteur cd.txt",True)

For Each objDisk In objFso.Drives
If objDisk.DriveType = 1 Then objFile.WriteLine objDisk.DriveLetter
    If objDisk.DriveType = 2 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 3 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 4 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 5 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 6 Then objFile.WriteLine objDisk.DriveLetter
Next

objFile.Close
Set objDisk = Nothing
Set objFile = Nothing
Set objFso = Nothing

y'a moyen de reduire

If objDisk.DriveType = 1 Then objFile.WriteLine objDisk.DriveLetter
    If objDisk.DriveType = 2 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 3 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 4 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 5 Then objFile.WriteLine objDisk.DriveLetter
If objDisk.DriveType = 6 Then objFile.WriteLine objDisk.DriveLetter

merci beaucoup

lundi 11 mai 2009 à 22:00:09 | Re : Lettres du/des lecteurs cd et dvd

JMO

Membre Club


 Bonsoir narco4,

Le test du DriveType devient donc inutile.

'DriveType -> 0 -> "Inconnu"
'DriveType -> 1 -> "Amovible"
'DriveType -> 2 -> "Fixe"
'DriveType -> 3 -> "Réseau - connecté ou déconnecté"
'DriveType -> 4 -> "CD-ROM"
'DriveType -> 5 -> "Disque virtuel"


For Each objDisk In objFso.Drives
    strList = strList & objDisk.DriveLetter & vbCrLf
Next
objFile.WriteLine strList
objFile.Close



jean-marc
mardi 12 mai 2009 à 02:21:07 | Re : Lettres du/des lecteurs cd et dvd

narco4

merci beaucoup JMO   

derniére question, et on termine
si je veus lister tout les diques (disque dur, usb etc) mais pas les lecteurs CD ou DVD
?

merci beaucoup
mardi 12 mai 2009 à 07:11:52 | Re : Lettres du/des lecteurs cd et dvd

JMO

Membre Club
Réponse acceptée !


 Bonjour,

Plusieurs possibilités:

'instruction If...Then...Else
For Each objDisk In objFso.Drives
    if objDisk.DriveType <> 4 Then strList = strList & objDisk.DriveLetter & vbCrLf
Next
-----------------
'instruction Select Case
For Each objDisk In objFso.Drives
    Select Case objDisk.DriveType
       Case 4
       Case Else
          strList = strList & objDisk.DriveLetter & vbCrLf
    End Select
Next
-----------------
'instruction Select Case
For Each objDisk In objFso.Drives
    Select Case objDisk.DriveType
       Case 0 : strList = strList & objDisk.DriveLetter & vbCrLf
       Case 1 : strList = strList & objDisk.DriveLetter & vbCrLf
       Case 2 : strList = strList & objDisk.DriveLetter & vbCrLf
       Case 3 : strList = strList & objDisk.DriveLetter & vbCrLf
       Case 4 :
       Case 5 : strList = strList & objDisk.DriveLetter & vbCrLf
       Case Else
          strList = strList & objDisk.DriveLetter & vbCrLf
    End Select
Next
-----------------
pour la doc, recherche vbscript.chm ou script56.chm (W2000 et XP)

jean-marc
mardi 12 mai 2009 à 20:20:38 | Re : Lettres du/des lecteurs cd et dvd

narco4

MERCI bcp JMO

bonne soirée.


Cette discussion est classée dans : set, cd, fso, dvd, lecteurs


Répondre à ce message

Sujets en rapport avec ce message

Connaitre l'ID SCSI des lecteurs de CD [ par Cameleon ] A chaque lecteur de CD correspond un numéro SCSI de connexion (exemple 0:0:0)Savez vous comment récupèrer ce numéro, j'ai bien pensé à utiliser la DLL ID des lecteurs de CD (ex:0:0:0) [ par Cameleon ] A chaque lecteur de CD correspond un numéro SCSI de connexion (exemple 0:0:0)Savez vous comment récupèrer ce numéro, j'ai bien pensé à utiliser la DLL lancement d'une application depuis VB ??? [ par nozoom ] bonjour, je voudrais ecrire un vbscript qui me permet de lancé un prog windows avec un parametre saisie au préalable dans une boite de dialogue, mais En VBScript, comment formater une disquette ??? [ par JMO ] Bonjour,Je n'arrive pas à trouver la syntaxe pour formater une disquette.Quelqu'un peut-il m'orienter?Ci-dessous, ma proc qui est presque finie.''Sauv Fonction recursive qui plante l'application [ par vbtom ] kelkun pourrait me dire pourquoi cette fonction recursives plante lapplication si jenleve les "'"???Et mem si elle marche au bout dun bon moment les f vbs [ par Maxilie ] En vbs, à quoi sert la commande TRUE :EX:Set fso = CreateObject("Scripting.FileSystemObject")Set file = fso.GetFile("C:\fichier.txt")file.Copy "C:\co Aide pour incrementer [ par Lexounet ] Voila g fait un petit script en vbs ki permet de recuperer la 1° ligne d un fichier excel et de la stocker dans un fichier texte : Dim F , TSconst Tri rechercher les fichiers d'un dossier [ par etienne ] Bonjour à tous,Je recherche la fonction VB, permettant de rechercher tous les fichiers d'undossier.L'equivalent VBscript serait :Set fso = CreateObjec liste lecteurs CD [ par ctof3552 ] slt !est il possible de ne charger dans une drivelist box que les lecteurs CD présents sur la machine ?thx !!Tof Pbl requete ORDER BY et Datagrid... [ par tomatokatchup007 ] Je souhaiterai trié tout ma base de donnée en triant les nom par ordre croissant si l'utilisateur le demande dans un combobox.Mon code est le suivant


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales