[Catégorie modifiée VB6 -> VBS] Remplacer fichier par un autre si celui-çi dépas [Résolu]

Signaler
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
-
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
-
Bonjour,

Est-ce que quelqu'un aurait un code VBS qui permetterait de remplacer une fichier (A) par un fichier (B) si ce premier dépasse X Ko

Ex:X max= 10 Ko:

Si fichier A > 10 Ko -> alors fichier (A) est remplacé par le fichier (B)


Je débute en programmation VBS

Merçi d'avance.

Mac Galiver

6 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour,


Normal !!!

Call RenameFile("D:\Test.txt","D:\Test_new.txt",9) -> path précisé

Call RenameFile("rapportaeffacer.html","original_rapport.html",9) -> path non précisé !!!







jean-marc
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour,

Test de l'existence du fichier A
Contrôle size ko du fichier A
Delete fichier B si existe
Rename fichier A en B




Call RenameFile("D:\Test.txt","D:\Test_new.txt",9)

Function RenameFile(ArgFileA, ArgFileB, ArgSize)
   Dim objFso
   Set objFso = CreateObject("Scripting.FileSystemObject")
   If objFso.FileExists(ArgFileA) Then
      If CInt(objFso.GetFile(ArgFileA).Size/1024) > ArgSize Then
         If objFso.FileExists(ArgFileB) Then objFso.DeleteFile ArgFileB, True
         objFso.MoveFile ArgFileA, ArgFileB
      End If
   End If
   Set objFso = Nothing
End Function







jean-marc
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
3
Bonjour,

C'est à peu près ce qu'il me faut mais je voudrais garder le fichier "rapportclean" et non renommer rapportclean en rapport.

Merçi.

Mac Galiver
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour,


Dans ce cas, il faut utiliser la méthode CopyFile, qui contrairement au MoveFile possède l'argument overwrite. Donc le DeleteFile est inutile.



      If CInt(objFso.GetFile(ArgFileA).Size/1024) > ArgSize Then
         objFso.CopyFile ArgFileA, ArgFileB
      End If



jean-marc
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
3
Bonjour,

J'ai mis:

Call RenameFile("rapportaeffacer.html","original_rapport.html",9)

Function RenameFile(ArgFileA, ArgFileB, ArgSize)
   Dim objFso
   Set objFso = CreateObject("Scripting.FileSystemObject")
   If objFso.FileExists(ArgFileA) Then
      If CInt(objFso.GetFile(ArgFileA).Size/1024) > ArgSize Then
         objFso.CopyFile ArgFileA, ArgFileB
      End If
   End If
   Set objFso = Nothing
End Function


Mais sa marche pas.
Pourtant j'ai même modifier la taille (9 en 10)

Merçi d'avance
Messages postés
146
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
21 juillet 2013
3
(Re)bonjour,

Merçi de nouveau !

Mac Galiver