[VBS]Problème de taille d'un fichier non mis à jour...[EDIT]

Problème de taille d'un fichier non mis à jour...[EDIT] [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 22-09-2005 à 11:57:07    

Bonjour,
 
Je suis sur un script de trancature de fichier de log.
Si quelqu'un en a un à me refiler qui fonctionne, je suis preneur
OU un peu d'aide !
 
Bref, je vérifie la taille du fichier avec une petite fonction:
Function getsize(sF)
 Set fso = CreateObject("Scripting.FileSystemObject" )
 Set oSpec = fso.GetFile(sF)
 getsize = oSpec.size
 Set fso = Nothing
 Set oSpec = nothing
End Function
 
Je vérifie la taille du fichier avant d'insérer une ligne.
Le problème est que la taille n'est pas actualisé en temps réél !?
Du coup, la taille du fichier n'est jamais respecté !!
 
Comment faire ?
 
[EDIT]
Plusieurs centaines itérations passe avant que la taille soit mise à jour.
Exemple avec le script si dessous.
Voici le résultat: "1619,getsize(sFileSpec):24781"
1619 = le nombre d'itérations, 24781 octects alors que le fichier doit être de 10000 Max!!!
autre résultat :1708,getsize(sFileSpec):26205
 
En plus, jamais le même résultat...
-----------------------------------
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.OpenTextFile(sFileSpec, ForWriting, True)
For i = 1 To 10100  
             If getsize(sFileSpec) > 10000 Then  
   WScript.Echo i&",getsize(sFileSpec):"&getsize(sFileSpec)
  Exit For
 End IF
 
Next
 
f.Close
-----------------------------------
Merci !


Message édité par tixu06 le 22-09-2005 à 14:18:06
Reply

Marsh Posté le 22-09-2005 à 11:57:07   

Reply

Marsh Posté le 25-09-2005 à 15:22:08    

C'est un fichier log provenant d'un programme si je comprend bien ?
 
Et ce que tu veux faire, c'est le couper tout les 10 Mo ? en insérant un commentaire à chaque fois ?
 
Si tel est le cas, il n'y à qu'au niveau du programme qu'il faut faire cela... De façon à ce que tu n'es pas d'itération qui passent au moment ou tu tronque le fichier....
Enfin si tu peux modifier le prog qui te fait la log.....
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed