Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 11568|Απάντηση: 2

[Πηγή] [Πραγματική μάχη]. Το NET/C# καλεί αποσυμπίεση 7z μέσω της γραμμής εντολών

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-4-30 17:46:24 | | | |
απαιτήσεις: Το έργο πρέπει να αποσυμπιέσει ή να συμπιέσει το μεταφορτωμένο συμπιεσμένο πακέτο, κάτι που μπορεί γενικά να επιτευχθεί μέσω του WinRAR, αλλά πρέπει να χρησιμοποιήσουμε μεθόδους προγραμματισμού για να το εφαρμόσουμε και είναι αδύνατο να αποσυμπιέσουμε χειροκίνητα το αρχείο. Δεδομένου ότι το WinRAR χρεώνεται, μπορούμε να χρησιμοποιήσουμε το .NET/C# για να καλέσουμε το 7z εκτελώντας λειτουργίες γραμμής εντολών για να ικανοποιήσουμε τις ανάγκες μας.

Αναθεώρηση:

.net/c# για να λάβετε τις πληροφορίες αρχείου στο πακέτο zip
https://www.itsvse.com/thread-4831-1-1.html

Μέθοδος αποσυμπίεσης zip ενθυλάκωσης Java
https://www.itsvse.com/thread-7750-1-1.html

Η C# χρησιμοποιεί ICSharpCode.SharpZipLib.dll για τη συμπίεση και αποσυμπίεση αρχείων/φακέλων
https://www.itsvse.com/thread-3726-1-1.html
Το 7-Zip είναι ένας αρχειοθέτης αρχείων με υψηλή αναλογία συμπίεσης. Το 7-Zip είναι ανοιχτού κώδικα και δωρεάν λογισμικό. Το μεγαλύτερο μέρος του κώδικα έχει άδεια χρήσης σύμφωνα με την GNU LGPL. Ορισμένα μέρη του κώδικα έχουν άδεια χρήσης σύμφωνα με τους Όρους BSD 3. Ορισμένα μέρη του κώδικα έχουν επίσης περιορισμούς αδειοδότησης unRAR.

Λήψη Διεύθυνσης:Η σύνδεση με υπερσύνδεσμο είναι ορατή., τα βήματα λήψης και εγκατάστασης παραλείπονται (αυτό το άρθρο εγκαθίσταται στον κατάλογο :D:\360Downloads)

Οι παράμετροι της γραμμής εντολών 7-Zip είναι οι εξής:


7-Zip 21.07 (x64) : Πνευματικά δικαιώματα (c) 1999-2021 Igor Pavlov : 26-12-2021

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]

<Commands>
  a : Προσθήκη αρχείων στο αρχείο
  β : Σημείο αναφοράς
  d : Διαγραφή αρχείων από το αρχείο
  e : Εξαγωγή αρχείων από το αρχείο (χωρίς χρήση ονομάτων καταλόγου)
  h : Υπολογισμός τιμών κατακερματισμού για αρχεία
  i : Εμφάνιση πληροφοριών σχετικά με τις υποστηριζόμενες μορφές
  l : Λίστα περιεχομένων του αρχείου
  rn : Μετονομασία αρχείων στο αρχείο
  t : Έλεγχος ακεραιότητας αρχείου
  u : Ενημέρωση αρχείων για αρχειοθέτηση
  x : αρχεία eXtract με πλήρεις διαδρομές

<Switches>
  -- : Διακοπή διακοπτών και ανάλυση @listfile
  -ai[r[-|0]]{@listfile|! wildcard} : Συμπερίληψη αρχείων
  -ax[r[-|0]]{@listfile|! wildcard} : αρχεία eXclude
  -ao{a|s|t|u} : ορίστε τη λειτουργία αντικατάστασης
  -an : απενεργοποιήστε το πεδίο archive_name
  -bb[0-3] : ορίστε το επίπεδο καταγραφής εξόδου
  -bd : απενεργοποιήστε την ένδειξη προόδου
  -bs{o|e|p}{0|1|2} : ορίστε τη ροή εξόδου για γραμμή εξόδου/σφάλματος/προόδου
  -BT: εμφάνιση στατιστικών χρόνου εκτέλεσης
  -i[r[-|0]]{@listfile|! wildcard} : Συμπερίληψη ονομάτων αρχείων
  -m{Parameters} : ορισμός μεθόδου συμπίεσης
    -mmt[N] : ορισμός αριθμού νημάτων CPU
    -mx[N] : ρύθμιση επιπέδου συμπίεσης: -mx1 (ταχύτερο) ... -mx9 (ultra)
  -o{Directory} : ορισμός καταλόγου εξόδου
  -p{Password} : ορισμός κωδικού πρόσβασης
  -r[-|0] : Επανάληψη υποκαταλόγων για αναζήτηση ονόματος
  -sa{a|e|s} : ορίστε τη λειτουργία ονόματος αρχείου
  -scc{UTF-8| WIN| DOS} : ορίστε το σύνολο χαρακτήρων για είσοδο/έξοδο κονσόλας
  -scs{UTF-8| UTF-16LE| UTF-16ΒΕ| WIN| DOS| {id}} : ορισμός συνόλου χαρακτήρων για αρχεία λίστας
  -scrc[CRC32| CRC64| SHA1| SHA256|*] : ορίστε τη συνάρτηση κατακερματισμού για εντολές x, e, h
  -sdel : διαγραφή αρχείων μετά τη συμπίεση
  -seml[.] : αποστολή αρχείου μέσω email
  -sfx[{name}] : Δημιουργία αρχείου SFX
  -si[{όνομα}] : ανάγνωση δεδομένων από το stdin
  -slp : ορίστε τη λειτουργία μεγάλων σελίδων
  -slt : εμφάνιση τεχνικών πληροφοριών για την εντολή l (Λίστα).
  -snh : αποθηκεύστε σκληρούς συνδέσμους ως συνδέσμους
  -snl : αποθηκεύστε συμβολικούς συνδέσμους ως συνδέσμους
  -sni: αποθήκευση πληροφοριών ασφαλείας NT
  -sns[-] : αποθήκευση εναλλακτικών ροών NTFS
  -so: γράψτε δεδομένα στο stdout
  -spd : απενεργοποιήστε την αντιστοίχιση χαρακτήρων μπαλαντέρ για ονόματα αρχείων
  -spe: εξαλείψτε την αντιγραφή του ριζικού φακέλου για την εντολή εξαγωγής
  -spf : χρησιμοποιήστε πλήρως προσδιορισμένες διαδρομές αρχείων
  -ssc[-] : ορισμός λειτουργίας ευαίσθητης περίπτωσης
  -sse : σταματήστε τη δημιουργία αρχείου, εάν δεν μπορεί να ανοίξει κάποιο αρχείο εισόδου
  -ssp : μην αλλάζετε τον χρόνο τελευταίας πρόσβασης των αρχείων προέλευσης κατά την αρχειοθέτηση
  -ssw: συμπίεση κοινόχρηστων αρχείων
  -stl : ορίστε τη χρονική σήμανση αρχειοθέτησης από το πιο πρόσφατα τροποποιημένο αρχείο
  -stm{HexMask} : ορισμός μάσκας συγγένειας νήματος CPU (δεκαεξαδικός αριθμός)
  -stx{Type} : εξαίρεση τύπου αρχείου
  -t{Type} : Ορισμός τύπου αρχείου
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Επιλογές ενημέρωσης
  -v{Size}[b|k|m|g] : Δημιουργία τόμων
  -w[{path}] : εκχώρηση καταλόγου εργασίας. Κενή διαδρομή σημαίνει προσωρινό κατάλογο
  -x[r[-|0]]{@listfile|! wildcard} : eXclude ονόματα αρχείων
  -y : υποθέστε Ναι σε όλα τα ερωτήματα
Συμπίεση φακέλων με 7z

Η εντολή είναι η εξής:


Λόγω της προσθήκης της παραμέτρου -sdel, ο φάκελος zh διαγράφεται αυτόματα όταν ολοκληρωθεί η συμπίεση. Ας δοκιμάσουμε το συμπιεσμένο αρχείο χρησιμοποιώντας το WinRAR, όπως φαίνεται παρακάτω:



Αποσυμπιέστε το αρχείο με 7z

Η εντολή είναι η εξής:


Η αποσυμπίεση ολοκληρώνεται όπως φαίνεται στο παρακάτω σχήμα:



Το .NET/C# καλεί αποσυμπίεση 7z μέσω της γραμμής εντολών

Πώς μπορώ να χρησιμοποιήσω τον κώδικα .NET/C# για να εκτελέσω τη γραμμή εντολών; Ο κωδικός έχει ως εξής:

(Τέλος)




Προηγούμενος:65 τοποθεσίες λήψης πηγαίου κώδικα
Επόμενος:[Πραγματική μάχη]. Το NET/C# ορίζει ένα χρονικό όριο για μια μέθοδο
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-4-30 17:49:29 |
e Αποσυμπίεση αρχείων (όλα τα συμπιεσμένα αρχεία αποσυμπιέζονται στον ίδιο κατάλογο, χωρίς να διατηρείται η αρχική δομή καταλόγου)
# Αποσυμπιέστε το αρχείο στον τρέχοντα κατάλογο
7z e archive.zip
# Αποσυμπιέστε το αρχείο στον κατάλογο e:\testunzip
7z e archive.zip -oe:\testunzip
# Αποσυμπιέστε όλα τα αρχεία PNG στον κατάλογο e:\testunzip
7z e archive.zip -oe:\testunzip *.png -r

x Αποσυμπιέστε το αρχείο (διατηρήστε την αρχική δομή καταλόγου)
# Αποσυμπιέστε το αρχείο στον τρέχοντα κατάλογο
7z x archive.zip
# Αποσυμπιέστε το αρχείο στον κατάλογο e:\testunzip
7z x archive.zip -oe:\testunzip
# Αποσυμπιέστε όλα τα αρχεία PNG στον κατάλογο e:\testunzip
7z x archive.zip -oe:\testunzip *.png -r

l Δείτε μια λίστα με όλα τα αρχεία στο πακέτο
7z l archive.zip

-ao Πώς αντιμετωπίζονται τα αρχεία με το ίδιο όνομα
# -aoa αντικαθιστά το ομώνυμο αρχείο
7Ζ x archive.zip -AOA
# -aos Παραλείψτε το ομώνυμο αρχείο
# -aou μετονομάζει το αρχείο με το ίδιο όνομα
# -aot μετονομάζει αρχεία στον εξαγόμενο κατάλογο με το ίδιο όνομα

d Διαγράψτε τα αρχεία μέσα στο πακέτο
# Διαγράψτε όλα τα αρχεία με το επίθημα .bak στο archive.zip
7z d archive.zip *.bak -r

rn μετονομάζει το αρχείο μέσα στο πακέτο
# Μετονομάστε το αρχείο 1.png 1_new.png 2.png φάκελο\2_new.png
7z rn archive.7z 1.png 1_new.png 2.png φάκελο\2_new.png
Δημοσιεύτηκε στις 2022-4-30 20:05:18 |
Μάθε να μαθαίνεις.
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com