Effacer la 1ere ligne d'un fichier

Résolu/Fermé
Signaler
Messages postés
31
Date d'inscription
lundi 5 novembre 2012
Statut
Membre
Dernière intervention
5 juillet 2015
-
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
-
Bonjour,

J,ai trouvé un code sur le net que j,ai tenté de mettre à ma main pour ce que je cherche à faire, mais même si en apparence tout semble fonctionner, dans les faits, après avoir exécuter mon petit script pour copier mon fichier d'origine sans la 1ere ligne, mes autres codes vbs, fonctionnel lorsque j'efface la 1ere ligne manuellement, me donne un code d'erreur lorsque j'utilise le fichier créé uniquement avec le code en vbs. Ce qui me porte à croire que le code effacerait probablement plus que seulement la 1er ligne du fichier source.

Qu'est-ce qui ne va pas dans mon code? Je cherche seulement à effacer la 1ere ligne de mon fichier source.

Voici le code en question:

Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\......players.ehm", ForReading)
strContents = objFile.ReadAll
objFile.Close
Set objFile = nothing
strContents = replace (strContents, chr(10) + chr(10), chr(10))
'msgbox strContents
arrLines = split(strContents, VBLF)
'msgbox (Ubound(arrLines) + 1) & " Lines in file"
Set objFile = objFSO.CreateTextFile("C:\......players1.ehm", ForWriting)
For i = 1 to UBound(arrLines) - 1
objFile.WriteLine arrLines(i)
Next
objFile.Close
Set objFile = nothing
Set objFSO = nothing



Merci beaucoup à l'avance

3 réponses

Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
128
En Python, ça se fait comme ça:


with open(filename,'r') as f:      
    f.readline() # on lit la première ligne      
    content = f.read() # on lit l'ensemble du fichier qui suit    
                       #  la première ligne      

with open(filename,'w') as f:      
    f.write() 


Et hop.

Mais les gens préfèrent apparemment les joies de la complication.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
89
Bonsoir heyquem,

Je pense que l'on ne trouve cette facilité qu'uniquement en Python, non ?
Messages postés
671
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2015
62
Python, C, Perl, Bash .... et même en ligne de commande c'est plus simple (je crois d'ailleurs qu'il existe une commande pour garder que certaines lignes d'un fichier)
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
89
Bonsoir nick_2428,

Vous utilisez Visual Basic Script ?

A la fin de la lecture du fichier, la variable strContents contient l'ensemble des données de celui-ci.
Quand au remplacement, je ne comprends pas le remplacement de tous les "chr(10)", c'est comme si vous mettiez bout à bout toutes les phrases d'un texte, illisible pour l'être humain ou tout du moins trop fatiguant pour moi !

Ne serait-il pas plus judicieux d'ouvrir le fichier en lecture seule, de lire ligne par ligne, pour de réécrire le fichier également ligne par ligne en omettant la première ?
Messages postés
31
Date d'inscription
lundi 5 novembre 2012
Statut
Membre
Dernière intervention
5 juillet 2015

Merci Heliotte. Oui j'utilise VBS. Effectivement, ça pourrait surement être plus judicieux d'ouvrir le fichier en lecture seule et de réécrire le fichier ligne par ligne en omettant la 1ere. Mon seul problème avec ça c'est que je n'est aucune idée comment m'y prendre. Comme mentionné plus haut, le code affiché n'est pas de moi, je l'ai trouvé sur le net et mes connaissances très rudimentaires de la programmation me rendent la choses très difficiles pour ajuster le code pour en arriver au résultat souhaiter.

Merci de bien vouloir m'aider dans ce petit projet.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
89
Bonjour nick_2428,

Je suis désolé de ne pouvoir mieux t'aider en VBScript .. Si tu travaillait en VB6.0 ou VB.Net, j'aurais pu mieux t'aider.

Je sait qu'il existe des langages, comme dit Sara426, qui facile la vie en "omettant la première ligne du fichier et donc, en ne recopiant que le reste.
Mais c'est très facile en VB (6.0 ou /Net).

Malheureusement, dans l'immédiat je n'ai pas assez de temps libre pour me permettre d'en apprendre plus sur VBScript.

A toi de voir.
@+
Heliotte