Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 11568|Antwort: 2

[Quelle] [Tatsächlicher Kampf]. NET/C# ruft die 7z-Dekompression über die Befehlszeile auf

[Link kopieren]
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:

.net/c#, um die Dateiinformationen im zip-Paket zu erhalten
https://www.itsvse.com/thread-4831-1-1.html

Java Encapsulation zip unzip Methode
https://www.itsvse.com/thread-7750-1-1.html

C# verwendet ICSharpCode.SharpZipLib.dll, um Dateien/Ordner zu komprimieren und zu dekomprimieren
https://www.itsvse.com/thread-3726-1-1.html
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-Seiten
Nächster:[Tatsächlicher Kampf]. NET/C# legt eine Timeout-Zeit für eine Methode fest
 Vermieter| Veröffentlicht am 30.4.2022, 17:49:29 |
e Entpacke Dateien (alle komprimierten Dateien werden in dasselbe Verzeichnis dekomprimiert, ohne die ursprüngliche Verzeichnisstruktur zu erhalten)
# Entpacke die Datei in das aktuelle Verzeichnis
7z e archive.zip
# Entpacke die Datei im Verzeichnis e:\testunzip
7z e archive.zip -oe:\testunzip
# Entpacke alle PNG-Dateien in das e:\testunzip-Verzeichnis
7z e archive.zip -oe:\testunzip *.png -r

x Entpacke die Datei (behalte die ursprüngliche Verzeichnisstruktur)
# Entpacke die Datei in das aktuelle Verzeichnis
7z x archive.zip
# Entpacke die Datei im Verzeichnis e:\testunzip
7z x archive.zip -oe:\testunzip
# Entpacke alle PNG-Dateien in das e:\testunzip-Verzeichnis
7z x archive.zip -oe:\testunzip *.png -r

l Sehen Sie sich eine Liste aller Dateien im Paket an
7z L archive.zip

-ao Wie Dateien mit demselben Namen behandelt werden
# -aoa überschreibt die Datei mit demselben Namen
7z x archive.zip -aoa
# -aos Überspringe die Datei mit demselben Namen
# -aou benennt das Archiv mit demselben Namen
# -aot benennt Dateien im extrahierten Verzeichnis mit demselben Namen um

d Lösche die Dateien im Paket
# Lösche alle Dateien mit dem Suffix .bak im archive.zip
7z d archive.zip *.bak -r

RN benennt die Datei im Paket um
# Die Datei 1.png 1_new.png 2.png Ordner umbenennen 2_new.png\
7z gerade archive.7z 1.png 1_new.png 2.png Ordner 2_new.png\
Veröffentlicht am 30.4.2022, 20:05:18 |
Lerne zu lernen.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com