|
|
Veröffentlicht am 30.04.2022, 17:46:24
|
|
|
|

Anforderungen: Das Projekt muss das hochgeladene, komprimierte Paket dekomprimieren oder komprimieren, was in der Regel über WinRAR erreicht werden kann, aber wir müssen Programmiermethoden verwenden, um dies zu implementieren, und es ist unmöglich, die Datei manuell zu dekomprimieren. Da WinRAR kostenpflichtig ist, können wir .NET/C# verwenden, um 7z aufzurufen, indem wir Kommandozeilenoperationen durchführen, um unsere Bedürfnisse zu erfüllen.
Rezension:
7-Zip ist ein Dateiarchiver mit einem hohen Kompressionsverhältnis. 7-Zip ist Open Source und Freeware. Der Großteil des Codes ist unter der GNU LGPL lizenziert. Einige Teile des Codes sind unter den BSD-3-Bedingungen lizenziert. Einige Teile des Codes haben außerdem UnRAR-Lizenzbeschränkungen.
Adresse herunterladen:Der Hyperlink-Login ist sichtbar., werden die Download- und Installationsschritte weggelassen (dieser Artikel ist unter dem Verzeichnis :D:\360Downloads installiert)
Die 7-Zip-Kommandozeilenparameter sind wie folgt:
7-Zip 21.07 (x64): Copyright (c) 1999-2021 Igor Pavlov: 26.12.2021
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]
<Commands> a : Dateien zum Archiv hinzufügen b : Benchmark d : Dateien aus dem Archiv löschen e: Dateien aus dem Archiv extrahieren (ohne Verzeichnisnamen zu verwenden) h : Berechnung von Hashwerten für Dateien i: Zeigen Sie Informationen zu unterstützten Formaten l : Inhaltsverzeichnis des Archivs rn : Dateien im Archiv umbenennen t : Prüfe die Integrität des Archivs u: Dateien im Archiv aktualisieren x : eXtract-Dateien mit vollständigen Pfaden
<Switches> -- : Stoppschalter und @listfile Parsing -ai[r[-|0]]{@listfile|! Wildcard} : Archiv einbeziehen -ax[r[-|0]]{@listfile|! Wildcard} : eXclude Archive -ao{a|s|t|u} : set Overwrite mode -an: Deaktivieren archive_name Feld -bb[0-3] : Ausgabe-Log-Level setzen -BD: Fortschrittsanzeige deaktivieren -bs{o|e|p}{0|1|2} : Setze den Ausgabestrom für die Ausgabe/Fehler-/Fortschrittslinie -BT: Zeigen von Ausführungszeitstatistiken -i[r[-|0]]{@listfile|! Wildcard} : Dateinamen einbeziehen -m{Parameters} : Set-Compression-Methode -mmt[N]: Setze die Anzahl der CPU-Threads -mx[N] : Kompressionsniveau eingestellt: -mx1 (schnellste) ... -mx9 (Ultra) -o{Verzeichnis} : setze Output directory -p{Passwort} : Passwort setzen -r[-|0] : Rekurse Unterverzeichnisse für die Namenssuche -sa{a|e|s} : setze Archivnamen-Modus -scc{UTF-8| WIN| DOS} : Setze Charset für für Konsolen-Ein-/Ausgabe -scs{UTF-8| UTF-16LE| UTF-16BE| WIN| DOS| {id}} : Zeichen setzen für Listendateien -scrc[CRC32| CRC64| SHA1| SHA256|*] : setze die Hashfunktion für die Befehle x, e, h -sdel: Dateien nach der Kompression löschen -seml[.] : Archiv per E-Mail senden -sfx[{name}] : SFX-Archiv erstellen -si[{name}] : lesen Sie Daten von STDIN -SLP : Setze Large Pages-Modus -slt : Technische Informationen für den l (Listen) Befehl anzeigen -SNH: Speichern Sie feste Links als Links -SNL: Symbolische Links als Links speichern -sni : NT-Sicherheitsinformationen speichern -sns[-]: Speichern NTFS-Alternativströme -so: Schreibe Daten in Stdout -SPD : Deaktivieren Sie die Wildcard-Übereinstimmung für Dateinamen -SPE: Vermeiden Sie die Duplikation des Root-Ordners für den Extract-Befehl -SPF: Verwenden Sie vollständig qualifizierte Dateipfade -ssc[-]: Setze den empfindlichen Gehäusemodus -SSE: Archivierung stoppen, wenn es keine Eingabedatei öffnen kann -ssp: Letzte Zugriffszeit der Quelldateien während der Archivierung nicht ändern -ssw: Gemeinsame Dateien komprimieren -stl : Archiv-Zeitstempel aus der zuletzt geänderten Datei festlegen -stm{HexMask} : setze CPU-Thread-Affinitätsmaske (hexadezimale Zahl) -stx{Type} : Archivtyp ausschließen -t{Typ} : Settyp des Archivs -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update-Optionen -v{Size}[b|k|m|g] : Volumes erstellen -w[{path}] : Arbeitsverzeichnis zuweisen. Leerer Pfad bedeutet ein temporäres Verzeichnis -x[r[-|0]]{@listfile|! Wildcard} : eXclude Dateinamen -y : nehmen bei allen Abfragen Ja an Komprimiere Ordner mit 7z
Der Befehl lautet wie folgt:
Durch die Hinzufügung des -sdel-Parameters wird der zh-Ordner automatisch gelöscht, sobald die Kompression abgeschlossen ist. Testen wir die komprimierte Datei mit WinRAR, wie unten gezeigt:
Entpacke die Datei mit 7z
Der Befehl lautet wie folgt:
Die Dekompression ist wie in der untenstehenden Abbildung gezeigt abgeschlossen:
.NET/C# ruft die 7z-Dekompression über die Kommandozeile auf
Wie benutze ich .NET/C#-Code, um die Kommandozeile auszuführen? Der Code lautet wie folgt:
(Ende)
|
Vorhergehend:65 Quellcode-Download-SeitenNächster:[Tatsächlicher Kampf]. NET/C# legt eine Timeout-Zeit für eine Methode fest
|