Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 11568|Válasz: 2

[Forrás] [Valódi harc]. A NET/C# parancssoron keresztül hívja a 7z decompression-t

[Linket másol]
Közzétéve: 2022-4-30 17:46:24 | | | |
Követelmények: A projektnek le kell oldania vagy tömörítenie a feltöltött tömörített csomagot, ami általában WinRAR-on keresztül érhető el, de programozási módszereket kell alkalmazni a megvalósításhoz, így lehetetlen kézzel decompressálni a fájlt. Mivel a WinRAR díjazható, .NET/C# segítségével hívhatjuk a 7z-t parancssoros műveletek elvégzésével, hogy kielégítsük igényeinket.

Szemle:

.net/c# fájlinformációt kaphatsz a zip csomagban
https://www.itsvse.com/thread-4831-1-1.html

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

A C# ICSharpCode.SharpZipLib.dll-t használ a fájlok/mappák tömörítésére és kibontására
https://www.itsvse.com/thread-3726-1-1.html
A 7-Zip egy fájlarchíváló, magas tömörítési aránnyal. A 7-Zip nyílt forráskódú és ingyenes. A kód nagy része a GNU LGPL alatt van licencelve. A kód egyes részei a BSD 3 feltételei alapján vannak engedélyezve. A kód egyes részein unRAR licenckorlátozások is vannak.

Letöltési cím:A hiperlink bejelentkezés látható., a letöltési és telepítési lépések kihagyásra kerülnek (ez a cikk a :D:\360Downloads könyvtárban van telepítve)

A 7-Zip parancssori paraméterek a következők:


7-Zip 21.07 (x64): Szerzői jog (c) 1999-2021 Igor Pavlov : 2021-12-26

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

<Commands>
  a : Fájlok hozzáadása az archívumba
  b : Benchmark
  d : Fájlok törlése az archívumból
  e : Fájlok kivonása archívumból (könyvtárnevek használata nélkül)
  h : Fájlok hash értékeinek kiszámítása
  i : Információk megjelenítése a támogatott formátumokról
  L : Az archívum tartalmának listája
  rn : Fájlok átnevezése az archívumban
  t : Az archívum tesztintegritása
  u : Fájlok frissítése archívumba
  x : eXtract fájlok teljes útvonalakkal.

<Switches>
  -- : Kapcsolók és @listfile elemzés megállítása
  -ai[r[-|0]]{@listfile|! wildcard} : Levéltárak is bevonulása
  -ax[r[-|0]]{@listfile|! wildcard} : eXclude archívumok
  -ao{a|s|t|u} : állítsd be Felülírás módot
  -an : letiltja archive_name mezőt
  -bb[0-3] : állítsd be a kimeneti log-szintet
  -bd : kapcsolja ki a haladási jelzőt
  -bs{o|e|p}{0|1|2} : állítsa be kimeneti áramot a kimenet/hiba/haladás vonalhoz
  -BT: Végrehajtási idő statisztikákat mutasson
  -i[r[-|0]]{@listfile|! wildcard} : Fájlnevek bevonása
  -m{Parameters} : halmaztömörítési módszer
    -mmt[N] : beállított számú CPU szál
    -mx[N] : állított kompressziós szint: -mx1 (leggyorsabb) ... -mx9 (ultra)
  -o{Directory} : állítsuk be Output directory
  -p{Password} : állítsd be Password
  -r[-|0] : Rekurtúra alkönyvtárak névkereséshez
  -sa{a|e|s} : állítsd be Archív név módot
  -scc{UTF-8| WIN| DOS} : állíts karakterkészletet a konzol bemenet/kimenet számára
  -scs{UTF-8| UTF-16LE| UTF-16BE| WIN| DOS| {id}} : karakterkészletet állítson be lista fájlokhoz
  -scrc[CRC32| CRC64| SHA1| SHA256|*] : állítsa be hash függvényt x, e, h parancsokra
  -sdel : fájlok törlése tömörítés után
  -seml[.] : levéltár küldése e-mailben
  -sfx[{name}] : SFX archívum létrehozása
  -si[{name}] : olvass adatokat az STDIN
  -slp : Nagy oldalak módot állítsd be
  -slt: mutassa meg az l (List) parancs műszaki adatait
  -SNH : tárold a kemény linkeket linkként
  -SNL : szimbolikus linkeket tárol
  -sni : tárold az NT biztonsági információkat
  -sns[-] : tárolja az NTFS alternatív streameket
  -Szóval: írj adatokat Stdoutba
  -spd : tiltsd ki a wildcard egyeztetést a fájlnevekhez
  -spe: megszünteti a gyökérmappa duplikálását a kibontási parancshoz
  -spf : teljesen minősített fájlútvonalakat használj
  -ssc[-] : állítsd be érzékeny kisszám módot
  -sse : Állítsd le az archívumkészítést, ha nem tud megnyitni valamilyen bemeneti fájlt
  -ssp : ne változtasd meg a forrásfájlok utolsó hozzáférési idejét archiválás közben
  -ssw : Megosztott fájlok tömörítése
  -stl : állítsd be az archív időbélyeget a legutóbb módosított fájlból
  -stm{HexMask} : állítsd be CPU szál affinitásmaszkot (hexadecimális szám)
  -stx{Type} : kizárja az archív típust
  -t{Type} : Az archívum típusának beállítása
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Frissítési opciók
  -v{Size}[b|k|m|g] : Kötetek létrehozása
  -w[{path}] : Munka könyvtár hozzárendelése. Az üres út ideiglenes könyvtárat jelent
  -x[r[-|0]]{@listfile|! wildcard} : eXclude fájlnevek
  -y : feltételezzük az igent minden lekérdezésre
Tömöríts mappákat 7z-vel

A parancs a következő:


A -sdel paraméter hozzáadása miatt a zh mappa automatikusan törlődik, amikor a tömörítés befejeződött. Teszteljük a tömörített fájlt WinRAR-val, ahogy alább látható:



Bontsd ki a fájlt 7z-vel

A parancs a következő:


A dekompresszió az alábbi ábrán látható módon teljesül:



A .NET/C# parancssoron keresztül hívja a 7z decompression-t

Hogyan használhatom .NET/C# kódot a parancssor végrehajtásához? A kódex a következő:

(Vége)




Előző:65 forráskód letöltési oldal
Következő:[Valódi harc]. A NET/C# időtúllépési időt állít be egy metódushoz
 Háziúr| Közzétéve: 2022-4-30 17:49:29 |
e Unzip fájlok (minden tömörített fájl ugyanabba a könyvtárba kerül letömörítve, anélkül, hogy megtartanák az eredeti könyvtárszerkezetet)
# Bontsd ki a fájlt a jelenlegi könyvtárba
7z e archive.zip
# Bontsd ki a fájlt az e:\testunzip könyvtárba
7z e archive.zip -oe:\testunzip
# Bontsd ki az összes PNG fájlt az e:\testunzip könyvtárba
7z e archive.zip -oe:\testunzip *.png -r

x Bontsd ki a fájlt (tartsd meg az eredeti könyvtárszerkezetet)
# Bontsd ki a fájlt a jelenlegi könyvtárba
7z x archive.zip
# Bontsd ki a fájlt az e:\testunzip könyvtárba
7z x archive.zip -oe:\testunzip
# Bontsd ki az összes PNG fájlt az e:\testunzip könyvtárba
7z x archive.zip -oe:\testunzip *.png -r

l Tekintse meg a csomagban található összes fájl listáját
7z l archive.zip

-ao Hogyan kezelik az azonos nevű fájlokat
# -AOA felülírja az azonos nevű fájlt
7z x archive.zip -aoa
# -aos Hagyd ki az azonos nevű fájlt
# -Aou ugyanazzal a néven nevezi át az archívumot
# -AOT átnevezi a kibontott könyvtárban azonos nevű fájlokat

d Töröld a csomagon belüli fájlokat
# Töröld az összes fájlt, amiben a .bak utótag archive.zip
7z d archive.zip *.bak -r

RN átnevezi a fájlt a csomagon belül
# Nevezd át a fájlt 1.png 1_new.png 2.png mappává\2_new.png
7z most archive.7z 1.png 1_new.png 2.png mappá 2_new.png
Közzétéve: 2022-4-30 20:05:18 |
Tanulj meg.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com