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

Résolu
MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 - 19 mai 2011 à 13:28
MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 - 23 mai 2011 à 18:03
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

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 mai 2011 à 14:06
 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
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
22 mai 2011 à 09:19
 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
0
MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 3
22 mai 2011 à 17:15
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
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 mai 2011 à 06:25
 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 3
23 mai 2011 à 13:54
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
0
MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 3
23 mai 2011 à 18:03
(Re)bonjour,

Merçi de nouveau !

Mac Galiver
0
Rejoignez-nous