je cherche à modifier le contenu d'un fichier texte de maniere simple.
sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à
ecrire et lire, mais comment faire pour modifier juste une partie d'un
fichier texte?
je cherche à modifier le contenu d'un fichier texte de maniere simple. En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture 2: En Ecriture (écrasement du flux de texte existant par ce que tu vas écrire) 3: En écriture avec uniquement ajout de nouvelles données à la fin du fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas le faire directement, mais il faudra user d'astuces en recopiant une partie du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je ne connais pas d'autres solutions en VBS. Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre) "Gael" a écrit dans le message de news:
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à ecrire et lire, mais comment faire pour modifier juste une partie d'un fichier texte?
Merci
Salut !
je cherche à modifier le contenu d'un fichier texte de maniere simple.
En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture
2: En Ecriture (écrasement du flux de texte existant par ce que tu vas
écrire)
3: En écriture avec uniquement ajout de nouvelles données à la fin du
fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas
le faire directement, mais il faudra user d'astuces en recopiant une partie
du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré
ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er
fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai
donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je
ne connais pas d'autres solutions en VBS.
Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
"Gael" <Gael@discussions.microsoft.com> a écrit dans le message de news:
0BD460C5-B93F-4E88-BC5D-188430FDAB74@microsoft.com...
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple.
sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à
ecrire et lire, mais comment faire pour modifier juste une partie d'un
fichier texte?
je cherche à modifier le contenu d'un fichier texte de maniere simple. En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture 2: En Ecriture (écrasement du flux de texte existant par ce que tu vas écrire) 3: En écriture avec uniquement ajout de nouvelles données à la fin du fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas le faire directement, mais il faudra user d'astuces en recopiant une partie du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je ne connais pas d'autres solutions en VBS. Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre) "Gael" a écrit dans le message de news:
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à ecrire et lire, mais comment faire pour modifier juste une partie d'un fichier texte?
Merci
bayosky
Dans le message ,
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
Fanchement le VBS n'est pas spécialement prévu pour des manip "fine" sur les fichier... puisque l'objet TextStream a des possibilités limités. L'ouverture est soit en écriture soit en lecture, pas les deux en même temps.
j'aime bien Tout = monfichier.ReadAll après tu découpes Progressivement avec Split en paragraphe (VbCrLf) puis chaque paragraphe en phrase ( "." ; "!" "?" ) puis chaque phrase en "partie" ( , et ; ) puis chaque partie en mots ( espaces) ...
Tu peut ainsi fabriquer un grand tableau qui contiendra de quoi reconstituer exactement le "texte" et dans lequel les divers éléments sont séparés...
Ceci étant la statégie à adopter dépend fortement de ce que peuvent concrètement contenir tes fichiers et des modifs que tu désires y faire ...
HB
Dans le message 0BD460C5-B93F-4E88-BC5D-188430FDAB74@microsoft.com,
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere
simple.
sachant que le fichier texte n'a pas de format particulier.
Fanchement le VBS n'est pas spécialement prévu pour des manip "fine"
sur les fichier...
puisque l'objet TextStream a des possibilités limités.
L'ouverture est soit en écriture soit en lecture, pas les deux en même
temps.
j'aime bien Tout = monfichier.ReadAll
après tu découpes Progressivement avec Split
en paragraphe (VbCrLf)
puis chaque paragraphe en phrase ( "." ; "!" "?" )
puis chaque phrase en "partie" ( , et ; )
puis chaque partie en mots ( espaces) ...
Tu peut ainsi fabriquer un grand tableau qui contiendra de quoi
reconstituer exactement le "texte" et dans lequel les divers éléments
sont séparés...
Ceci étant la statégie à adopter dépend fortement
de ce que peuvent concrètement contenir tes fichiers
et des modifs que tu désires y faire ...
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
Fanchement le VBS n'est pas spécialement prévu pour des manip "fine" sur les fichier... puisque l'objet TextStream a des possibilités limités. L'ouverture est soit en écriture soit en lecture, pas les deux en même temps.
j'aime bien Tout = monfichier.ReadAll après tu découpes Progressivement avec Split en paragraphe (VbCrLf) puis chaque paragraphe en phrase ( "." ; "!" "?" ) puis chaque phrase en "partie" ( , et ; ) puis chaque partie en mots ( espaces) ...
Tu peut ainsi fabriquer un grand tableau qui contiendra de quoi reconstituer exactement le "texte" et dans lequel les divers éléments sont séparés...
Ceci étant la statégie à adopter dépend fortement de ce que peuvent concrètement contenir tes fichiers et des modifs que tu désires y faire ...
HB
Jean
Fanchement le VBS
... le File System Object plutôt ;-)
Sinon l'accès au système de fichier de MSH est très performant.
Je laisse le plaisir à Jacques de vous montrer ça :-)
Amicalement,
-- Jean - JMST Belgium
Fanchement le VBS
... le File System Object plutôt ;-)
Sinon l'accès au système de fichier de MSH est très performant.
Je laisse le plaisir à Jacques de vous montrer ça :-)
Merci à tous :) c'est ce que je pensais, vbs n'est pas vraiment approprié pour cela.. mais bon.
j'attend Jacques pour la démonstration MSH (?) avec plaisir ;)
Fanchement le VBS
.... le File System Object plutôt ;-)
Sinon l'accès au système de fichier de MSH est très performant.
Je laisse le plaisir à Jacques de vous montrer ça :-)
Amicalement,
-- Jean - JMST Belgium
Gael
re,
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur à changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" /> vers <ref="ref1" value="200" /> le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Salut !
je cherche à modifier le contenu d'un fichier texte de maniere simple. En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture 2: En Ecriture (écrasement du flux de texte existant par ce que tu vas écrire) 3: En écriture avec uniquement ajout de nouvelles données à la fin du fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas le faire directement, mais il faudra user d'astuces en recopiant une partie du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je ne connais pas d'autres solutions en VBS. Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre) "Gael" a écrit dans le message de news:
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à ecrire et lire, mais comment faire pour modifier juste une partie d'un fichier texte?
Merci
re,
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler
avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur à
changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" />
vers
<ref="ref1" value="200" />
le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Salut !
je cherche à modifier le contenu d'un fichier texte de maniere simple.
En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture
2: En Ecriture (écrasement du flux de texte existant par ce que tu vas
écrire)
3: En écriture avec uniquement ajout de nouvelles données à la fin du
fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas
le faire directement, mais il faudra user d'astuces en recopiant une partie
du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré
ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er
fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai
donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je
ne connais pas d'autres solutions en VBS.
Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
"Gael" <Gael@discussions.microsoft.com> a écrit dans le message de news:
0BD460C5-B93F-4E88-BC5D-188430FDAB74@microsoft.com...
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple.
sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à
ecrire et lire, mais comment faire pour modifier juste une partie d'un
fichier texte?
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur à changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" /> vers <ref="ref1" value="200" /> le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Salut !
je cherche à modifier le contenu d'un fichier texte de maniere simple. En VBS, on peut ouvrir un fichier texte de 3 manières:
1: En Lecture 2: En Ecriture (écrasement du flux de texte existant par ce que tu vas écrire) 3: En écriture avec uniquement ajout de nouvelles données à la fin du fichier
Si tu veux modifier ou ajouter du texte au milieu du fichier, tu ne peux pas le faire directement, mais il faudra user d'astuces en recopiant une partie du texte de ton fichier dans un autre, puis, en rajoutant à l'endroit désiré ton texte modifié, puis, en recopiant à la suite la fin du texte de ton 1er fichier. Ensuite, tu renommes ton 2e fichier, et le tour est joué. Je t'ai donné les grandes lignes. C'est vrai que c'est assez lourd à faire, mais je ne connais pas d'autres solutions en VBS. Si tu as un souci, n'hésite pas à revenir.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre) "Gael" a écrit dans le message de news:
bonjour,
je cherche à modifier le contenu d'un fichier texte de maniere simple. sachant que le fichier texte n'a pas de format particulier.
mon problème et que je n'arrive pas à "modifier" du texte... j'arrive à ecrire et lire, mais comment faire pour modifier juste une partie d'un fichier texte?
Merci
sympatix
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur à changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" /> vers <ref="ref1" value="200" /> le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Je ne saisi pas exactement quel est ton problème. Voici un petit exemple qui t'aidera je l'éspère à mieux faire ce que tu veux. Cet exemple ouvre le fichier toto.txt, situé à la racine de C, lit chaque ligne, si elle ressemble à "Ligne à modifier", copie la chaine "Ligne modifiée" dans un nouveau fichier nommé titi.txt, sinon, recopie simplement la ligne lue. A la fin, le fichier titi.txt est renommé en toto.txt. Et la ligne "Ligne à modifier" est bien remplacée par "Ligne modifiée". Pour le test, il faut juste créer à la racine de C le fichier toto.txt, qui peut contenir n'importe quoi, mais avec au moins une ligne qui ne contient que la chaine "Ligne à modifier", sans les guillemets. Après le lancement du script, cette ligne sera remplacée par "Ligne modifiée".
(attention aux coupures éventuelles de lignes dues à certains lecteurs de news)
Set oFSO = CreateObject("Scripting.FileSystemObject") Set F1 = oFSO.OpenTextFile (Fichier1, Pour_Lire) Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False) Do Until F1.AtEndOfStream Lit = F1.ReadLine If Lit = AModif Then F2.WriteLine Modif Else F2.WriteLine Lit End If Loop Set F1 = Nothing Set F2 = Nothing oFSO.DeleteFile Fichier1 oFSO.MoveFile Fichier2, Fichier1 --------Fin du script-------- -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler
avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur
à
changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" />
vers
<ref="ref1" value="200" />
le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Je ne saisi pas exactement quel est ton problème. Voici un petit exemple qui
t'aidera je l'éspère à mieux faire ce que tu veux.
Cet exemple ouvre le fichier toto.txt, situé à la racine de C, lit
chaque ligne, si elle ressemble à "Ligne à modifier", copie la chaine "Ligne
modifiée" dans un nouveau fichier nommé titi.txt, sinon, recopie simplement
la ligne lue. A la fin, le fichier titi.txt est renommé en toto.txt. Et la
ligne "Ligne à modifier" est bien remplacée par "Ligne modifiée".
Pour le test, il faut juste créer à la racine de C le fichier toto.txt, qui
peut contenir n'importe quoi, mais avec au moins une ligne qui ne contient
que la chaine "Ligne à modifier", sans les guillemets. Après le lancement du
script, cette ligne
sera remplacée par "Ligne modifiée".
(attention aux coupures éventuelles de lignes dues à certains lecteurs de
news)
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set F1 = oFSO.OpenTextFile (Fichier1, Pour_Lire)
Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False)
Do Until F1.AtEndOfStream
Lit = F1.ReadLine
If Lit = AModif Then
F2.WriteLine Modif
Else
F2.WriteLine Lit
End If
Loop
Set F1 = Nothing
Set F2 = Nothing
oFSO.DeleteFile Fichier1
oFSO.MoveFile Fichier2, Fichier1
--------Fin du script--------
--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr
j'ai trouvé pas mal d'infos sur l'art et surtout la manière de travailler avec les fichier (texte).
mais je n'arrive pas, dans une ligne, a (en gros) trouver la bonne valeur à changer. notamment parce que celà dépend du début de la ligne!
<ref="ref1" value="20" /> vers <ref="ref1" value="200" /> le tout avec X lignes avant et après...
j'arrive à trouver la ligne, mais après..
Je ne saisi pas exactement quel est ton problème. Voici un petit exemple qui t'aidera je l'éspère à mieux faire ce que tu veux. Cet exemple ouvre le fichier toto.txt, situé à la racine de C, lit chaque ligne, si elle ressemble à "Ligne à modifier", copie la chaine "Ligne modifiée" dans un nouveau fichier nommé titi.txt, sinon, recopie simplement la ligne lue. A la fin, le fichier titi.txt est renommé en toto.txt. Et la ligne "Ligne à modifier" est bien remplacée par "Ligne modifiée". Pour le test, il faut juste créer à la racine de C le fichier toto.txt, qui peut contenir n'importe quoi, mais avec au moins une ligne qui ne contient que la chaine "Ligne à modifier", sans les guillemets. Après le lancement du script, cette ligne sera remplacée par "Ligne modifiée".
(attention aux coupures éventuelles de lignes dues à certains lecteurs de news)
Set oFSO = CreateObject("Scripting.FileSystemObject") Set F1 = oFSO.OpenTextFile (Fichier1, Pour_Lire) Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False) Do Until F1.AtEndOfStream Lit = F1.ReadLine If Lit = AModif Then F2.WriteLine Modif Else F2.WriteLine Lit End If Loop Set F1 = Nothing Set F2 = Nothing oFSO.DeleteFile Fichier1 oFSO.MoveFile Fichier2, Fichier1 --------Fin du script-------- -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
sympatix
Petite erreur, mais qui ne changeait pas le comportement du script:
la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False)
doit en fait être: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
le 2e argument (True) correspond en fait à l'écrasement du fichier s'il existe, et non comme je l'avais mis avant, à l'ouverture en Ecriture, car, forcément, l'ouverture d'un fichier créé, ne peut se faire qu'en écriture. Le script fonctionnait quand même, car le 2e argument étant la constante "Pour_Ecrire", donc, 2, était compris comme True, et en plus, si titi.txt n'existait pas avant, le problème ne se posait même pas !
Petite erreur, mais qui ne changeait pas le comportement du script:
la ligne:
Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False)
doit en fait être:
Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
le 2e argument (True) correspond en fait à l'écrasement du fichier s'il
existe, et non comme je l'avais mis avant, à l'ouverture en Ecriture, car,
forcément, l'ouverture d'un fichier créé, ne peut se faire qu'en écriture.
Le script fonctionnait quand même, car le 2e argument étant la constante
"Pour_Ecrire", donc, 2, était compris comme True, et en plus, si titi.txt
n'existait pas avant, le problème ne se posait même pas !
Petite erreur, mais qui ne changeait pas le comportement du script:
la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, Pour_Ecrire, False)
doit en fait être: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
le 2e argument (True) correspond en fait à l'écrasement du fichier s'il existe, et non comme je l'avais mis avant, à l'ouverture en Ecriture, car, forcément, l'ouverture d'un fichier créé, ne peut se faire qu'en écriture. Le script fonctionnait quand même, car le 2e argument étant la constante "Pour_Ecrire", donc, 2, était compris comme True, et en plus, si titi.txt n'existait pas avant, le problème ne se posait même pas !
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
à la ligne:
Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en
unicode, ça donne des yéroglyphes chez moi.
donc:
Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne:
Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en
unicode, ça donne des yéroglyphes chez moi.
donc:
Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
Dim File1 Dim File2 Dim Read, readModify 'line to read, line if modification Dim oFSO, F1, F2 Dim strComputer, ObjNicConfig, colNicConfigs, strDNSHostname, strDNSDomain, objWMIService 'some hostname and dns search dim Dim OldValue, StrKey, NewValue 'to change value On Error Resume Next
' 'Search Hsotname and DNS Info ' On error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") Set colNicConfigs = objWMIService.ExecQuery _ ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs strDNSHostName = objNicConfig.DNSHostName strDNSDomain = objNicConfig.DNSDomain Next
' 'open file, create tmpfile, read file, modify if necessary and rewrite ' Set oFSO = CreateObject("Scripting.FileSystemObject") Set F1 = oFSO.OpenTextFile (File1, To_Read) Set F2 = oFSO.CreateTextFile (File2, True, False)
Do Until F1.AtEndOfStream Read = F1.ReadLine If instr(Read,strkey)<> 0 Then ReadModify = Replace(read, OldValue, NewValue) F2.WriteLine ReadModify Else F2.WriteLine Read End If Loop Set F1 = Nothing Set F2 = Nothing oFSO.CopyFile File1, Folder & FileToModify & ".OLD" oFSO.DeleteFile File1 oFSO.CopyFile File2, File1 oFSO.Deletefile file2
-------------------
y'a t il, à premiere vue, des éléments gênant?
des commentaires? Merci
Merci pour tout ça :)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
Dim File1
Dim File2
Dim Read, readModify 'line to read, line if modification
Dim oFSO, F1, F2
Dim strComputer, ObjNicConfig, colNicConfigs, strDNSHostname, strDNSDomain,
objWMIService 'some hostname and dns search dim
Dim OldValue, StrKey, NewValue 'to change value
On Error Resume Next
'
'Search Hsotname and DNS Info
'
On error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs
strDNSHostName = objNicConfig.DNSHostName
strDNSDomain = objNicConfig.DNSDomain
Next
'
'open file, create tmpfile, read file, modify if necessary and rewrite
'
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set F1 = oFSO.OpenTextFile (File1, To_Read)
Set F2 = oFSO.CreateTextFile (File2, True, False)
Do Until F1.AtEndOfStream
Read = F1.ReadLine
If instr(Read,strkey)<> 0 Then
ReadModify = Replace(read, OldValue, NewValue)
F2.WriteLine ReadModify
Else
F2.WriteLine Read
End If
Loop
Set F1 = Nothing
Set F2 = Nothing
oFSO.CopyFile File1, Folder & FileToModify & ".OLD"
oFSO.DeleteFile File1
oFSO.CopyFile File2, File1
oFSO.Deletefile file2
-------------------
y'a t il, à premiere vue, des éléments gênant?
des commentaires?
Merci
Merci pour tout ça :)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne:
Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en
unicode, ça donne des yéroglyphes chez moi.
donc:
Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
Dim File1 Dim File2 Dim Read, readModify 'line to read, line if modification Dim oFSO, F1, F2 Dim strComputer, ObjNicConfig, colNicConfigs, strDNSHostname, strDNSDomain, objWMIService 'some hostname and dns search dim Dim OldValue, StrKey, NewValue 'to change value On Error Resume Next
' 'Search Hsotname and DNS Info ' On error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") Set colNicConfigs = objWMIService.ExecQuery _ ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs strDNSHostName = objNicConfig.DNSHostName strDNSDomain = objNicConfig.DNSDomain Next
' 'open file, create tmpfile, read file, modify if necessary and rewrite ' Set oFSO = CreateObject("Scripting.FileSystemObject") Set F1 = oFSO.OpenTextFile (File1, To_Read) Set F2 = oFSO.CreateTextFile (File2, True, False)
Do Until F1.AtEndOfStream Read = F1.ReadLine If instr(Read,strkey)<> 0 Then ReadModify = Replace(read, OldValue, NewValue) F2.WriteLine ReadModify Else F2.WriteLine Read End If Loop Set F1 = Nothing Set F2 = Nothing oFSO.CopyFile File1, Folder & FileToModify & ".OLD" oFSO.DeleteFile File1 oFSO.CopyFile File2, File1 oFSO.Deletefile file2
-------------------
y'a t il, à premiere vue, des éléments gênant?
des commentaires? Merci
Merci pour tout ça :)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Encore gourré !
à la ligne: Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en unicode, ça donne des yéroglyphes chez moi. donc: Set F2 = oFSO.CreateTextFile (Fichier2, True, False)