Ich schreibe ein VBScript, um zu versuchen, mehrere Verzeichnisse an verschiedenen Orten in derselben Zip-Datei zu komprimieren.Wie kann ich sicher sein, dass eine sehr große Zip-Datei komprimiert ist?
Die aktuelle Lösung, die ich verwende, besteht darin, über die Verzeichnisse zu iterieren, von denen es derzeit 2 gibt, die Dateiobjekte zu erhalten und die copyHere-Methode zu verwenden, um den Quellordner in eine ZIP-Datei zu kopieren Header-Format.
Dieser Teil scheint in Ordnung zu sein, die Schwierigkeit, die ich habe, ist mit der Fehlerprüfung. Die einzigen beiden Lösungen, die ich online gefunden habe, sind die Anzahl der Objekte in den Quell- und Zielverzeichnissen und das Einschlafen, bis sie gleich sind, oder um zu prüfen, ob die Zip-Datei zum Anhängen und Schlafen geöffnet ist.
Die erste Option ist einfach mit einem Verzeichnis, wird aber viel mühsamer mit mehreren Ordnern, ganz zu schweigen davon, dass Windows wahrscheinlich ein Objekt im Zielverzeichnis erstellt, bevor es mit dem Kopieren fertig ist und ich Dateien über 10 GB komprimiere Diese Lösung wird nicht funktionieren.
Ich hatte versucht, die zweite Lösung zu implementieren, aber jedes Mal, wenn die Schleife zum zweiten Aufruf von CopyHere kam, würde es mir sagen, dass die Zip-Datei von der ersten Iteration an beschädigt war. Ist es nicht möglich, sehr große Dateien mit VBScript zu komprimieren?
Alle anderen Vorschläge, wie ich Fehler überprüfen kann, dass die Komprimierung mit VBScript getan wird, wäre sehr hilfreich.
Es gibt Probleme dokumentiert mit Reißverschluss Größen über 2GB/4GB mindestens [hier] (http://stackoverflow.com/questions/20009033/is-there-a-size-limit-for-a- zip-file-using-copyhere-in-vbscript) und [hier] (https://stackoverflow.com/questions/37411326/limiting-zip-file-size) – LotPings