Effacer la 1ere ligne d'un fichier

Résolu/Fermé
nick_2428 Messages postés 31 Date d'inscription lundi 5 novembre 2012 Statut Membre Dernière intervention 5 juillet 2015 - 17 déc. 2012 à 20:31
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 20 déc. 2012 à 10:10
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

A voir également:

3 réponses

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
Modifié par heyquem le 17/12/2012 à 21:30
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
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
17 déc. 2012 à 21:31
Bonsoir heyquem,

Je pense que l'on ne trouve cette facilité qu'uniquement en Python, non ?
0
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
17 déc. 2012 à 21:37
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)
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
17 déc. 2012 à 21:18
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 ?
0
nick_2428 Messages postés 31 Date d'inscription lundi 5 novembre 2012 Statut Membre Dernière intervention 5 juillet 2015
19 déc. 2012 à 19:11
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.
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
20 déc. 2012 à 10:10
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
0