IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Zipper déplacer, supprimer mes fichiers


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Windows
    Inscrit en
    Juillet 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Windows
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Zipper déplacer, supprimer mes fichiers
    Bonjour à tous,

    j'ai un souci dans l’exécution de mon script. Je m'explique:

    Ce dernier dois compresser l'ensemble des.pdf (~ 1Go de données)dans un dossier source.
    Puis déplacer l'archive dans un dossier destination et finir supprimer les fichiers dans le dossier source.
    Mais lorsque je lance mon script il lance la compression et dans la foulée il supprime les fichiers. Résultat je me retrouve avec une archive de 1ko

    Je voudrais savoir comment indiquer dans mon script de supprimer les fichiers que lorsque ma compression sera fini.
    J'ai tester avec un sleep cela fonctionne, mais si le contenu du dossier source est plus gros mon slip ne vaut rien.

    Merci à tous pour vos réponse

    Mon script:

    Voici la partie du script qui pose pb


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    For Each Centre In Split(Centre,";",-1)
     
    MyHex = _
    Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
     
    For i = 0 To UBound(MyHex)
        MyBinary = MyBinary & Chr(MyHex(i))
    Next
     
    Set oShell = CreateObject("WScript.Shell")
    Set oFileSys = CreateObject("Scripting.FileSystemObject")
     
    'Creation du zip
    msglog "0","0000","-Debut: Traitement du ZIP " & Source & " et déplacement dans " & Destination & " pour le centre " & centre
    set oCTF = oFileSys.CreateTextFile(Destination, True)
    oCTF.Write MyBinary
    oCTF.Close
    Set oCTF = Nothing
     
    Set oApp = CreateObject("Shell.Application")
     
    Set oFolder = oApp.NameSpace(Source)
    If Not oFolder Is Nothing Then _
        oApp.NameSpace(Destination).CopyHere oFolder.Items
     
    'wScript.Sleep 3000000
     
    Set oFile = Nothing
     
     
    msglog "0","0000","-Fin: Traitement du ZIP " & Source & " et déplacement dans " & Destination & " pour le centre " & centre
     
    Next
     
    Sub SupprimeFiles
    	Dim objsupp
    	Set objsupp = WScript.CreateObject("Scripting.FileSystemObject")
    	msglog "0","0000","-Debut: Suppresion des fichiers " & FILE_SUPP & " pour le centre " & centre
    		objsupp.deletefile FILE_SUPP , force
    	msglog "0","0000","-Fin: Suppresion des fichiers " & FILE_SUPP & " pour le centre " & centre	
    end sub
     
    msglog "0","0000","---Debut: Historique.vbs "
    SupprimeFiles
    msglog "0","0000","---Fin: Historique.vbs"
    FileLog.Close

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    bonjour,

    ah tiens, ça faisait longtemps qu'on avait pas eu des messages sur cette bidouille à la c*...
    voir ici entre autres...
    la méthode CopyHere est asynchrone et ne renvoie pas le status de l'opération au process appelant donc la compression se fait en aveugle
    la solution bourrin consiste à définir un sleep joufflu pour gérer les volumes les plus élevés
    sinon peut-être une boucle temporisée avec un polling sur la taille du fichier zip (quand la taille n'augmente plus, c'est cuit prêt )
    et sinon, il y a des tonnes de solution avec des composants ou même des compresseurs en ligne de commande (7z) qui évitent de se prendre la tête inutilement
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Windows
    Inscrit en
    Juillet 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Windows
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Zipper déplacer, supprimer mes fichiers
    Merci pour ta réponse omen999

    j'ai fini par définir définir un sleep joufflu


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mes fichiers supprimés ne vont pas dans la corbeille
    Par ghizou771 dans le forum Windows 7
    Réponses: 8
    Dernier message: 25/01/2013, 11h01
  2. Zipper déplacer, supprimer mes fichiers
    Par LUCAS31 dans le forum Windows
    Réponses: 0
    Dernier message: 05/07/2012, 16h24
  3. [FTP] Impossible de supprimer mes fichiers sur FTP
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2008, 09h16
  4. Renommer ou Déplacer, Supprimer fichier
    Par Loopinge71 dans le forum MFC
    Réponses: 1
    Dernier message: 13/06/2007, 18h27
  5. Supprimer un fichier par rapport a une date
    Par NewB dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo