Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 11568|Vastaus: 2

[Lähde] [Varsinaista taistelua]. NET/C# kutsuu 7z-purkua komentorivin kautta

[Kopioi linkki]
Julkaistu 2022-4-30 klo 17:46:24 | | | |
Vaatimukset: Projektin täytyy purkaa tai pakata ladattu pakattu paketti, mikä yleensä onnistuu WinRARin avulla, mutta meidän täytyy käyttää ohjelmointimenetelmiä sen toteuttamiseen, eikä tiedoston manuaalinen purkaminen ole mahdollista. Koska WinRAR veloitetaan, voimme käyttää .NET/C#-tiedostoja kutsumaan 7z:ää suorittamalla komentorivitoimintoja tarpeidemme täyttämiseksi.

Arvostelu:

.net/c# saadaksesi tiedostotiedot zip-paketista
https://www.itsvse.com/thread-4831-1-1.html

Java encapsulation zip unzip -menetelmä
https://www.itsvse.com/thread-7750-1-1.html

C# käyttää ICSharpCode.SharpZipLib.dll tiedostojen/kansioiden pakkaamiseen ja purkamiseen
https://www.itsvse.com/thread-3726-1-1.html
7-Zip on tiedostoarkistoija, jolla on korkea pakkaussuhde. 7-Zip on avoimen lähdekoodin ja ilmainen ohjelmisto. Suurin osa koodista on lisensoitu GNU LGPL:n kautta. Osa koodista on lisensoitu BSD 3 -ehtojen mukaisesti. Joissain koodin osissa on myös unRAR-lisenssirajoituksia.

Latausosoite:Hyperlinkin kirjautuminen on näkyvissä., lataus- ja asennusvaiheet on jätetty pois (tämä artikkeli on asennettu :D:\360Downloads-hakemistoon)

7-Zipin komentorivin parametrit ovat seuraavat:


7-Zip 21.07 (x64) : Tekijänoikeus (c) 1999-2021 Igor Pavlov : 2021-12-26

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

<Commands>
  a : Lisää tiedostoja arkistoon
  b : Vertailuarvo
  d : Poista tiedostot arkistosta
  e : Tiedostojen purkaminen arkistosta (ilman hakemistojen nimiä)
  h : Laske tiedostojen hajautusarvot
  i : Näytä tietoa tuetuista formaateista
  l: Luettelo arkiston sisällöstä
  rn : Nimeä tiedostot uudelleen arkistossa
  t : Arkiston testieheys
  u : Päivitä tiedostot arkistoon
  x : eXtract-tiedostot täysillä poluilla

<Switches>
  -- : Pysäytyskytkimet ja @listfile jäsentäminen
  -ai[r[-|0]]{@listfile|! villikortti} : Sisällytä arkistot
  -ax[r[-|0]]{@listfile|! villikortti} : eXclude -arkistot
  -ao{a|s|t|u} : aseta Overwrite-tila
  -an : poistaa archive_name kenttä
  -bb[0-3] : aseta lähtölogaritmitaso
  -bd : Poista etenemismittari
  -bs{o|e|p}{0|1|2} : aseta lähtövirta tulos/virhe/etenemisviivalle
  -BT : näytä suoritusaikatilastot
  -i[r[-|0]]{@listfile|! jokeri} : Sisällytä tiedostonimet
  -m{Parametrit} : joukkopakkausmenetelmä
    -mmt[N] : aseta CPU-säikeiden määrä
    -mx[N] : aseta pakkaustaso: -mx1 (nopein) ... -mx9 (ultra)
  -o{Hakemisto} : aseta Tulostushakemisto
  -p{Password} : aseta Salasana
  -r[-|0] : Rekursiiviset alihakemistot nimihakuun
  -sa{a|e|s} : aseta Arkiston nimitila
  -scc{UTF-8| WIN| DOS} : aseta merkkisarja konsolin tulolle/ulostulolle
  -scs{UTF-8| UTF-16LE| UTF-16BE| WIN| DOS| {id}} : aseta merkki listatiedostoille
  -scrc[CRC32| CRC64| SHA1| SHA256|*] : aseta hajautusfunktio x, e, h komennoille
  -sdel : poista tiedostot pakkauksen jälkeen
  -seml[.] : lähetä arkisto sähköpostitse
  -sfx[{name}] : Luo SFX-arkisto
  -si[{name}] : lue tiedot STDIN:stä
  -slp : aseta Large Pages -tila
  -slt : näytä tekniset tiedot l (lista) -komennolle
  -SNH : tallenna kovia linkkejä linkkeinä
  -SNL : tallenna symboliset linkit linkkeinä
  -sni : tallenna NT-tietoturvatiedot
  -sns[-] : tallenna NTFS-vaihtoehtoiset virrat
  -eli : kirjoita data stdoutiin
  -spd : poista jokerikorttien sovittaminen tiedostonimistä
  -spe : poista juurikansion päällekkäisyys extract-komennossa
  -spf : käytä täysin päteviä tiedostopolkuja
  -ssc[-] : aseta herkkä kirjaintila
  -sse : lopeta arkiston luominen, jos se ei pysty avaamaan jotakin syötetiedostoa
  -ssp : älä muuta lähdetiedostojen viimeistä käyttöaikaa arkistoinnin aikana
  -ssw : pakkaa jaetut tiedostot
  -stl : aseta arkiston aikaleima viimeksi muokatusta tiedostosta
  -stm{HexMask} : aseta prosessorin säikeen affiniteettimaski (kuusidesimaaliluku)
  -stx{Type} : sulje pois arkistotyyppi
  -t{Type} : Aseta arkiston tyyppi
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Päivitysvaihtoehdot
  -v{Size}[b|k|m|g] : Luo volyymeja
  -w[{path}] : määritä Work-hakemisto. Tyhjä polku tarkoittaa väliaikaista hakemistoa
  -x[r[-|0]]{@listfile|! jokeri} : eXclude tiedostonimet
  -y : oletetaan kyllä kaikissa kysymyksissä
Pakkaa kansiot 7z:llä

Käsky on seuraava:


-sdel-parametrin lisäämisen vuoksi zh-kansio poistetaan automaattisesti, kun pakkaus on valmis. Testataan pakattu tiedosto WinRARilla, kuten alla on esitetty:



Avaa tiedosto 7z:llä

Käsky on seuraava:


Dekompressio toteutetaan alla olevan kuvan mukaisesti:



.NET/C# kutsuu 7z-purkua komentorivin kautta

Miten käytän .NET/C#-koodia komentorivin suorittamiseen? Koodi on seuraava:

(Loppu)




Edellinen:65 lähdekoodin lataussivustoa
Seuraava:[Varsinaista taistelua]. NET/C# asettaa metodille aikakatkaisuajan
 Vuokraisäntä| Julkaistu 2022-4-30 17:49:29 |
e Pura tiedostot (kaikki pakatut tiedostot puretaan samaan hakemistoon ilman alkuperäistä hakemistorakennetta)
# Pura tiedosto nykyiseen hakemistoon
7z e archive.zip
# Pura tiedosto e:\testunzip-hakemistoon
7z e archive.zip -oe:\testunzip
# Pura kaikki PNG-tiedostot e:\testunzip-hakemistoon
7z e archive.zip -oe:\testunzip *.png -r

x Pura tiedosto (säilytä alkuperäinen hakemistorakenne)
# Pura tiedosto nykyiseen hakemistoon
7z x archive.zip
# Pura tiedosto e:\testunzip-hakemistoon
7z x archive.zip -oe:\testunzip
# Pura kaikki PNG-tiedostot e:\testunzip-hakemistoon
7z x archive.zip -oe:\testunzip *.png -r

l Näytä lista kaikista tiedostoista paketissa
7z l archive.zip

-ao Miten samannimisiä tiedostoja käsitellään
# -aoa ylikirjoittaa samannimisen tiedoston
7z x archive.zip -aoa
# -aos Ohita samanniminen tiedosto
# -aou nimeää arkiston samalla nimellä
# -aot nimeää tiedostoja puretussa hakemistossa samalla nimellä

d Poista tiedostot paketin sisällä
# Poista kaikki tiedostot, joissa on .bak-pääte archive.zip
7z d archive.zip *.bak -r

RN nimeää tiedoston uudelleen paketin sisällä
# Nimeä tiedosto uudelleen 1.png 1_new.png 2.png kansioksi\2_new.png
7z nyt archive.7z 1.png 1_new.png 2.png kansio 2_new.png
Julkaistu 2022-4-30 20:05:18 |
Opettele oppimaan.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com