So packen und komprimieren Sie mehrere hochgeladene Dateien, indem Sie WinZIP -Befehlszeile auf der Serverseite aufrufen?
Um dieses Problem zu lösen, müssen wir zuerst den Windows Scripting -Host verstehen, der als WSH bezeichnet wird! Hier ist ein Zitat aus Microsofts Erklärung:
******************************************************** ************************************************
* WSH ist eine Art von Microsoft -Scripting -Technologie -Serie.
* In dieser Umgebung sind einige Objekte vordefiniert, und andere Objekte in COM können auch verwendet werden. *
* Er verwendet eine Skript -Engine, um Skripte zu interpretieren und auszuführen.
* Dritte können auch eigene Skriptmotoren entwickeln. *
******************************************************** ************************************************
Um genau zu sein, kompilieren Sie zunächst einige Skriptdateien (Microsoft verfügt über einige Beispiele mit Suffixe.vbs oder .js).
Verwenden Sie dann ein Programm, um es zu erklären und auszuführen. Dieses Programm heißt Windows Scripting Host.
Der Name ist wscript.exe (oder cscript.exe in der Befehlszeile). Sie können Ihren Computer überprüfen
Wenn Sie diese beiden Dateien enthalten, wissen Sie, ob es WSH gibt. (Win2000 ist unter WINNT/SYSTEM32/)
Dies ist einer Stapeldatei sehr ähnlich, außer dass die Datei keine Befehlszeile ist, sondern ein in der Skriptsprache geschriebenes Skript.
Lassen Sie uns kurz mehrere eingebaute Objekte einführen, die mit WSH verbunden sind, darunter:
1. Objekt von wscript.exe bereitgestellt
WScript ist der Skriptmotor als WScript ausgesetzt.
Wshargumente nicht öffentlich; eingeben
2. Objekt von WSHOM.OCX.
WSHSHELL Automatisches Objekt. Progid ist wscript.wshshell.
(Hinweis: Dies ist, was wir verwenden möchten. Sie können den DOS -Befehl ausführen.)
WSHNETWORK Automatisches Objekt. Progid ist wscript.wshnetwork.
WSHSHORTCUT ist nicht öffentlich;
WSHURLSHORTCUT ist nicht öffentlich;
WSHCollection wird nicht veröffentlicht.
Wshenwironment ist nicht öffentlich;
WSPECIALFOLDERS ist nicht öffentlich.
Sie können hauptsächlich den Erwerb von Umgebungsvariablen, das Netzwerkanmeldung, die Antriebskartierung und die schnelle Erstellung von Intercept vervollständigen.
Programmladen, spezielle Ordner (z. B. Systemordner) Informationen und andere Funktionen.
Wenn Ihr System ADO und andere COM -Komponenten unterstützt, können Sie es auch verwenden.
Das folgende Beispiel zeigt, dass das Öffnen eines Wortpads zum Anzeigen einer Textdatei, zum Erstellen einer Textdatei und zum Schreiben von a
Sie können es in das Schreibbrett kopieren und dann mit .VBS als Suffix speichern und dann doppelklicken.
'test.vbs
'**********************
'Im Folgenden starten das Programm mit dem Shell -Objekt
'**********************
Setzen Sie WSHSHELL = wscript.createObject (wscript.shell)
Wshshell.run (Notepad & Wscript.ScriptfulLname)
'****************************************** *****
Verwenden Sie COM -Objekt -Skript.FilesSystemObject, um Textdateien zu betreiben
'****************************************** *****
Setzen Sie fs = wscript.createObject (scripting.FilesystemObject)
Setzen Sie a = fs.createTextFile (c: /testfile.txt, true)
A.WriteLine (dies ist ein Test.)
A.CLOSE
Es kann auch in Webprogrammiersprachen wie ASP angewendet werden
<script Language = vbScript.Encode Runat = Server>
'Das obige startet das Programm mit dem Shell -Objekt
Setzen Sie wshshell = server.createObject (wscript.shell)
Issuccess = wshshell.run (d: /winnnt/system32/cmd.exe, 1, true)
Wenn Issuccess = 0 dann
Der Kommando der Antwort.Write wurde erfolgreich ausgeführt!
anders
Der Befehl response.write konnte nicht ausgeführt werden! Unzureichende Berechtigungen oder das Programm können im DOS -Staat nicht ausgeführt werden
Ende wenn
</script>
Notiz:
1. Der Runat = Server muss haben
2.Set Wshshell = Wscript.CreateObject (Wscript.Shell)
Um zu ändern, um wshshell = server.createObject (wscript.shell) festzulegen,
3. Parameter 1 repräsentiert SW_SHOWNORMAL, aktiviert und zeigt ein Fenster an. Wenn das Fenster minimiert oder maximiert wird, wird es in seiner ursprünglichen Größe und Position wiederhergestellt.
4.Re stellt einen Fehler dar, der die Ausführung zurückgibt, false oder angegeben ist, dass das Skript weiterhin ausgeführt wird, ohne auf das Ende des Prozesses zu warten.
5. Wenn Sie das integrierte Objekt von WSH aufrufen, kann es als Aufruf von Funktionen und Verfahren bezeichnet werden.
Rufen Sie zum Beispiel wshshell.run (d: /winnnt/system32/cmd.exe, 1, true) auf
Wenn Sie an WSH interessiert sind und mehr wissen möchten, schauen Sie es sich bitte an
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsconwshbasics.asp
http://www.dev-c-club.com/club/bbs/show esz.asp?id=11136
Kommen wir nun wieder auf den Punkt und sehen Sie, wie Sie Dateien komprimieren und dekomprimieren können!
Jeder weiß, dass Winzip leicht zu dekomprimieren und komprimieren kann, aber wie kann man sie durch Programme und Befehlszeilen aufrufen?
Natürlich hat sich der Autor von Winzip entwickelt
WinZip-Befehlszeilenunterstützung Add-On Version 1.0
Jeder kann zu http://www.winzip.com/wzclin.htm gehen, um WzcLine.exe herunterzuladen!
Die Prämisse ist, dass die Maschine WinZIP8.0 oder höher installieren muss.
http://www.winzip.com/download.htm Download!
Beim Herunterladen installieren Sie es einfach!
Die WinZIP -Befehlszeile -Help -Datei und das Programm wzzip.exe, wziunzip.exe wird im WinZIP -Verzeichnis generiert.
Sie können Anrufe ausführen:
Zum Beispiel: C:/Programmdateien/Winzip/Wzzip myFile.zip
Sie können auch zwei Dateien hier in ein beliebiges Verzeichnis kopieren und direkt im DOS -Fenster ausführen.
Zum Beispiel: Wzzip.exe myfile.zip
Sie können set path = c:/window; c:/Programmdateien/Winzip hinzufügen.
Sie können es überall anrufen, ohne einen Pass hinzuzufügen!
Lassen Sie uns nun kurz die grundlegende Verwendung der beiden Befehle in der Hilfe verstehen
Verwenden Sie Wzzip.exe, um Dateien zu komprimieren:
Allgemeines Format: WZZIP [Optionen] Zipfile [@Listfile] [Dateien ...]
[Optionen] enthalten:
-E eine Standardoperation, komprimierte Datei
-A+ Komprimieren Sie die Datei und löschen Sie die zu komprimierte Datei
-B [Laufwerk | Pfad] besteht darin, temporäre komprimierte Dateien auf einem anderen Laufwerk zu erstellen
-Löschen Sie die in der ZIP -Datei angegebene Zieldatei
-e <x | n | f | s | 0> soll das Komprimierungsverhältnis einstellen, x ist das Maximum und 0 ist das Minimum
-f Ersetzen Sie die Datei, die in der ZIP -Datei vorliegt
-h |-?
-V Erstellen Sie eine Liste komprimierter Dateien
-@list Erstellen Sie eine Datei, die alle zu dekomprimierten Dateien enthält, und komprimieren Sie sie dann mit dem enthaltenen Dateinamen
............. (für andere Details finden Sie in der Hilfedatei)
[@Listfile] ist ein Listeninformationsdatensatz von komprimierten Dateien
[Dateien ...] sind die mehrere Dateien, die komprimiert werden, durch Leerzeichen oder eine Wildcard getrennt werden sollen
Beispiel:
Komprimieren Sie alle Dateien im aktuellen Verzeichnis
WZZIP Test.zip *. *. *
Komprimieren Sie alle Dateien vom Typ txt
WZZIP Test.zip *.txt
Zwei Dateien komprimieren
WZZIP test.zip abc.txt def.txt
Komprimieren Sie alle Dateien vom Typ txt außer abc.txt
Wzzip -xabc.txt test.zip *.txt
Komprimieren Sie alle Dateien und Unterverzeichnisse vom Typ txt unter d:/docs
Wzzip -rp test.zip d:/docs/*. txt
Aktualisieren Sie die Datei in Zipit.1st auf test.zip
Wzzip -u test.zip @zipit.lst
Listen Sie die Liste der komprimierten Dateien auf
Wzzip -v test.zip
Verwenden Sie WZunzip.exe, um die Datei zu entpacken:
Nach Format: Wzunzip [Optionen] Zipfile [@Listfile] [Pfad] [Dateien ...]
[Optionen] enthalten:
-C [M] Dekompression soll die Dateiliste im DOS -Bildschirm angezeigt werden
-D rekonstruieren die Verzeichnisstruktur in der ZIP -Datei
-F dekomprimieren nur Dateien mit demselben Namen wie der aktuelle Ordner in der ZIP -Datei.
-JHRs ignorieren die versteckten, schreibgeschützten und Systemeigenschaften von Dateien in ZIP-Dateien
-JHRs dekomprimieren nur Dateien mit versteckten, schreibgeschützten und Systemeigenschaften
-N dekomprimieren nur die neue Datei, ersetzen Sie, wenn die zu dekomprimierte Datei neuer ist als die vorhandene.
-O müssen Sie nicht mit Ja verwenden, um festzustellen, ob die Datei ersetzt werden soll
-V Erstellen Sie eine Liste komprimierter Dateien
-@List Erstellen Sie eine Datei, die alle zu dekomprimierten Dateien enthält, und dekomprimieren sie sie dann mit dem enthaltenen Dateinamen
............. (für andere Details finden Sie in der Hilfedatei)
Zum Beispiel:
Erstellen Sie alle Dateien im aktuellen Verzeichnis
Wziunzip test.zip
Erstellen Sie ABC.txt von test.zip zum aktuellen Verzeichnis
Wzunzip test.zip abc.txt
Erstellen Sie die Verzeichnisstruktur und -datei in test.zip in das aktuelle Verzeichnis
Wzunzip -d test.zip
Erstellen Sie die Verzeichnisstruktur und -datei in test.zip zu c:/docs
Wzunzip -d test.zip c:/docs Erstellen Sie eine Datei mit dem Dateinamen in Dateien.ist von test.zip
WZunzip test.zip @files.lst
Zeigen Sie den Inhalt der Dateiliste von Test.zip an
Wzunzip -v test.zip
Zeigen Sie den Inhalt aller Dateitypen TXT in der komprimierten Datei an
Wzunzip -v test.zip *.txt
Bei der obigen Vorbereitung fällt es uns leicht, VBS zu schreiben, um die Dekompression und Komprimierung von Dateien durchzuführen:
'test.vbs
'**********************
'Das obige startet das Programm mit dem Shell -Objekt
'**********************
Setzen Sie WSHSHELL = wscript.createObject (wscript.shell)
Wshshell.run (c: /wzzip.exe c: /test.zip c: /a.txt c: /b.txt)
'test.asp
'**********************
'Das obige startet das Programm mit dem Shell -Objekt
'**********************
<script Language = vbScript.Encode Runat = Server>
'Das obige startet das Programm mit dem Shell -Objekt
Setzen Sie wshshell = server.createObject (wscript.shell)
Issuccess = wshshell.run (c: /wzzip.exe c: /test.zip c: /a.txt c: /b.txt, 1, true)
Wenn Issuccess = 0 dann
Der Kommando der Antwort.Write wurde erfolgreich ausgeführt!
anders
Der Befehl response.write konnte nicht ausgeführt werden! Unzureichende Berechtigungen oder das Programm können im DOS -Staat nicht ausgeführt werden
Ende wenn
</script>
Es ist sehr einfach. wie:
Nachdem Sie mehrere Dateien mit der Upload -Komponente hochgeladen haben, können Sie mehrere Dateien verpacken, um sie anderen zum Herunterladen von ZIP -Dateien zur Verfügung zu stellen
Oder nach dem Hochladen einer ZIP -Datei können Sie das Programm verwenden, um es anderen für einen einzelnen Datei -Download zur Verfügung zu stellen
Sehr bequem für Benutzer! Ich werde diese beiden Veränderungen in zukünftigen Artikeln aufschreiben! Es gibt unweigerlich Auslassungen im Artikel, bitte korrigieren Sie mich!
Alle oben genannten Beispiele wurden auf Win2000+IIS5.0 getestet!