Aller au contenu

Variables Windows à l'intérieur d'un fichier texte


classe-a

Messages recommandés

Bonjour à toutes et à tous,

Je me permets de vous contacter afin de vous demander un renseignement.

Je suis une clinche en programmation VBScript, cependant je suis parvenu à générer un fichier texte avec un contenu.

Je souhaite faire apparaître à certain endroit de mon fichier texte des variables Windows (System, user, ...).

Comment faire dans mon script pour qu' apparaissent à des endroits bien spécifique de mon texte des variables systemes ?

Exemples:

le fichier texte contiendra :

Voici un résumé des caractéristiques de la machine

utilisateur : (code VBScript pour afficher dans le fichier texte l'utilisateur loggé sur la machine à cet emplacement)

système d'exploitation : (code VBScript pour afficher dans le fichier texte le type de système d'exploitation sur la machine à cet emplacement)

D'avance, je vous remercie

Lien vers le commentaire
Partager sur d’autres sites

C'est ton VBScript qui écrit tout le fichier texte ? Ou il faut lire le fichier, et écrire au bon endroit ?

Sinon, pour l'user :

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

strComputer=(".")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)


For Each objItem In colItems
WScript.Echo "UserName: " & objItem.UserName
next

Pour le nom de l'OS

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "OS : " & objItem.Caption
Next

Je fais un for each, mais normalement, tu n'as bien qu'un seul user, et qu'un seul OS qui sort :yaisse:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Spaz001,

Ce script crée d'abord un fichier texte et puis écrit à l'intérieur de celui-ci via la commande .writeLine

On pourrait résumer le problème à "Comment insérer une variable Windows plusieurs fois à des endroits précis dans un fichier texte ?"

Merci

Lien vers le commentaire
Partager sur d’autres sites

Donc, tout bêtement, tu dois avoir quelque chose du style

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.CreateTextFile(File_TXT, True)

With File
.writeLine "Blabla"
.writeLine "Blibli"
End With

File.Close()

ou quelque cose qui s'en approche, sans le With peut être.

Donc, pour tes variables, à l'endroit où tu as

[...]
.writeLine "Voici un résumé des caractéristiques de la machine"
.writeLine "utilisateur : "
.writeLine "système d'exploitation : "
[...]

tu mets

[...]
.writeLine "Voici un résumé des caractéristiques de la machine"

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

strComputer=(".")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)


For Each objItem In colItems
.writeLine "utilisateur : " & objItem.UserName
next

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
.writeLine "système d'exploitation : " & objItem.Caption
Next
[...]

Voilà, je ne peux pas t'aider plus sans le code de ton script :)

Lien vers le commentaire
Partager sur d’autres sites

Autant de lignes ? Y'a d'autres langages, c'est pire quand même :francais:

4 lignes d'init, et 4 lignes pour recuperer l'info, je trouve que ca va quand meme, surtout pour un "script".

En VBScript, tu n'as (presque) rien en fonctions natives, tu seras tout le temps obligé de passer par des objets, donc faut les creer, et appeler leurs methodes. Il t'as bien fallu 2 lignes pour faire 1 fopen() :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...