Écrire ce fichier à l'aide de CopyHere sans l'aide de WScript.Le sommeil

J'ai écrit un petit VBScript pour crée un .fichier zip et copier le contenu d'un dossier spécifié .fichier zip.

J'ai copier les fichiers un par un, pour une raison (je sais que je peux faire tout ça à la fois). Cependant, mon problème est que quand j'essaye de copier un par un sans WScript.Dormir entre chaque itération de boucle, je reçois un "Fichier non trouvé ou pas l'autorisation de lecture." erreur; si je place un WScript.Sleep 200 après chaque écriture, il fonctionne, mais pas 100% du temps.

Assez bien que j'aimerais me débarrasser de la fonction de Sommeil et ne pas compter sur ce que selon la taille du fichier, il peut prendre plus de temps pour écrire donc 200 millisecondes peut-être pas assez etc.

Comme vous pouvez le voir avec le petit morceau de code ci-dessous, je boucle sur les fichiers, puis, s'ils correspondent à l'extension de je de les placer dans l' .zip (zipFile)

For Each file In folderToZip.Items
    For Each extension In fileExtensions
        if (InStr(file, extension)) Then
            zipFile.CopyHere(file)
            WScript.Sleep 200
            Exit For
        End If
    Next
Next

Des suggestions sur comment je peux cesser de compter sur la fonction de Veille?

Grâce

L'autre façon, j'ai pensé à faire c'était de faire un tableau et de les placer tous les fichiers qui ont passé le filtre en elle... mais je pouvais utiliser le tableau dans le CopyHere fonction. Personne ne sait comment?
Non, vous ne pourriez pas utiliser la matrice de toute autre manière que l'itération et à en faire quasiment la même chose. Qu'en copiant le passé fichiers dans un dossier temp et ajoutez-les tous à la fois, à partir de là?
Ne sais pas si ça va faire une différence. Je pense que je pourrais obtenir la même erreur que la copie d'un fichier. Comment voulez-vous ajouter en une seule fois, si?
Par copier/déplacer le dossier de l'objet, et non pas les fichiers à l'intérieur. Juste une pensée. Vous pouvez aussi tout simplement essayer et de vivre avec elle: Ensemble On Error Resume Next/On Error GoTo 0 autour du défaut de déclaration et boucle tant qu'il y a une erreur. Pas particulièrement agréable, je le sais. :-\

OriginalL'auteur mlevit | 2010-05-22