narco4
Messages postés32Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention23 août 2009
-
11 mai 2009 à 16:21
narco4
Messages postés32Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention23 août 2009
-
12 mai 2009 à 20:20
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
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 12 mai 2009 à 07:11
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)
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 11 mai 2009 à 17:51
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
narco4
Messages postés32Date d'inscriptionsamedi 23 février 2008StatutMembreDernière intervention23 août 2009 11 mai 2009 à 21:04
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
Vous n’avez pas trouvé la réponse que vous recherchez ?