OVH Cloud OVH Cloud

VBS et fichier txt

4 réponses
Avatar
Nico
Bonsoir a tous...

Le VBS me pose qques problèmes...je rame !!!

Je cherche a faire un script qui va chercher une liste d'ordinateurs dans un
fichier .txt et qui analyse l'espace disque de chacun des postes...

J'arrive sans probleme a faire un script qui fonctionne en local...
par contre je n'arrive pas a faire la partie qui ouvre le fichier txt et qui
va donner une valeur a strComputer..


Mon but final étant de requeter plusieurs postes sur le réseau et d'en faire
une sortie dans un fichier txt


Merci pour votre aide,
Nico

4 réponses

Avatar
Jean-Claude BELLAMY
Dans le message :,
Nico a pris la peine d'écrire ce qui suit :
Bonsoir a tous...

Le VBS me pose qques problèmes...je rame !!!

Je cherche a faire un script qui va chercher une liste d'ordinateurs
dans un fichier .txt et qui analyse l'espace disque de chacun des
postes...
J'arrive sans probleme a faire un script qui fonctionne en local...
par contre je n'arrive pas a faire la partie qui ouvre le fichier txt
et qui va donner une valeur a strComputer..


Mon but final étant de requeter plusieurs postes sur le réseau et
d'en faire une sortie dans un fichier txt


P.ex. quelque chose de ce style :


Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set ts1=fso.OpenTextFile("nom du fichier texte liste des machines")
Set ts2=fso.CreateTextFile(("nom du fichier texte résultats", true)
Mega48576
while not ts1.AtEndOfStream
computer=ts1.ReadLine
set WMISet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" &
Computer).ExecQuery _
("SELECT * FROM Win32_LogicalDisk")
ts2.WriteLine VBCRLF & "Liste des unités de disques sur " &
ucase(computer)
For each Disk in WMISet
Capa=Disk.Size
If Capa<>"" Then
Name=Disk.VolumeName
TT=int(cdbl(Capa)/mega)
TL=int(cdbl(Disk.FreeSpace))/mega)
ts2.WriteLine "Disque " & Name
ts2.WriteLine "Total : " & TT & " Mo"
ts2.WriteLine "Libres : " & TL & " Mo"
end if
next
wend
ts2.close
ts1.close

cf. mon script ALLDISKS.VBS
http://www.bellamyjc.org/fr/vbsdownload.html#alldisks


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Nico
Pffff..... La...je n'ai qu'une chose à dire... Respect...
(Mais vu l'auteur de la réponse...je ne suis pas surpris !)

Mille Merci !


"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :,
Nico a pris la peine d'écrire ce qui suit :
Bonsoir a tous...

Le VBS me pose qques problèmes...je rame !!!

Je cherche a faire un script qui va chercher une liste d'ordinateurs
dans un fichier .txt et qui analyse l'espace disque de chacun des
postes...
J'arrive sans probleme a faire un script qui fonctionne en local...
par contre je n'arrive pas a faire la partie qui ouvre le fichier txt
et qui va donner une valeur a strComputer..


Mon but final étant de requeter plusieurs postes sur le réseau et
d'en faire une sortie dans un fichier txt


P.ex. quelque chose de ce style :


Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set ts1=fso.OpenTextFile("nom du fichier texte liste des machines")
Set ts2=fso.CreateTextFile(("nom du fichier texte résultats", true)
Mega48576
while not ts1.AtEndOfStream
computer=ts1.ReadLine
set WMISet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" &
Computer).ExecQuery _
("SELECT * FROM Win32_LogicalDisk")
ts2.WriteLine VBCRLF & "Liste des unités de disques sur " &
ucase(computer)
For each Disk in WMISet
Capa=Disk.Size
If Capa<>"" Then
Name=Disk.VolumeName
TT=int(cdbl(Capa)/mega)
TL=int(cdbl(Disk.FreeSpace))/mega)
ts2.WriteLine "Disque " & Name
ts2.WriteLine "Total : " & TT & " Mo"
ts2.WriteLine "Libres : " & TL & " Mo"
end if
next
wend
ts2.close
ts1.close

cf. mon script ALLDISKS.VBS
http://www.bellamyjc.org/fr/vbsdownload.html#alldisks


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr





Avatar
Jean-Claude BELLAMY
Dans le message :,
Jean-Claude BELLAMY a pris la peine
d'écrire ce qui suit :
(C'était des copier-coller de mon script un peu allégé, et je devais être un
peu fatigué, hier !!!)

[...]
Set ts2=fso.CreateTextFile(("nom du fichier texte résultats", true)
[...]
J'espère que tu auras rectifé de toi même, avant d'avoir une injure box ....

:
Il y avait une parenthèse ouvrante en trop !
Donc l'instruction exacte est :
Set ts2=fso.CreateTextFile("nom du fichier texte résultats", true)

Même type d'erreur un peu plus loin :
TL=int(cdbl(Disk.FreeSpace))/mega)


TL=int(cdbl(Disk.FreeSpace)/mega)

Mille excuses ...

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Nico
pas de pb...
j'ai bien compris que cette parenthèse était un test !!!

Encore merci...

"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :,
Jean-Claude BELLAMY a pris la peine
d'écrire ce qui suit :
(C'était des copier-coller de mon script un peu allégé, et je devais être
un peu fatigué, hier !!!)

[...]
Set ts2=fso.CreateTextFile(("nom du fichier texte résultats", true)
[...]
J'espère que tu auras rectifé de toi même, avant d'avoir une injure box

.... :
Il y avait une parenthèse ouvrante en trop !
Donc l'instruction exacte est :
Set ts2=fso.CreateTextFile("nom du fichier texte résultats", true)

Même type d'erreur un peu plus loin :
TL=int(cdbl(Disk.FreeSpace))/mega)


TL=int(cdbl(Disk.FreeSpace)/mega)

Mille excuses ...

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr