Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 11568|Yanıt: 2

[Kaynak] [Gerçek dövüş]. NET/C#, komut satırı üzerinden 7z dekompresyonunu çağırır

[Bağlantıyı kopyala]
2022-4-30 tarihinde 17:46:24 tarihinde yayınlandı | | | |
Gereksinimler: Proje, yüklenen sıkıştırılmış paketi dekompres veya sıkıştırmalıdır, bu genellikle WinRAR ile sağlanabilir, ancak bunu uygulamak için programlama yöntemleri kullanmamız gerekir ve dosyayı manuel olarak açmak imkansızdır. WinRAR ücretlendirildiği için, ihtiyaçlarımızı karşılamak için komut satırı işlemleri yaparak .NET/C# kullanarak 7z'yi çağırabiliriz.

Eleştiri:

.net/c# ile zip paketindeki dosya bilgilerini almak için
https://www.itsvse.com/thread-4831-1-1.html

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

C#, dosya/klasörleri sıkıştırmak ve açmak için ICSharpCode.SharpZipLib.dll kullanır
https://www.itsvse.com/thread-3726-1-1.html
7-Zip, yüksek sıkıştırma oranına sahip bir dosya arşivcisidir. 7-Zip açık kaynaklı ve ücretsiz bir yazılımdır. Kodun çoğu GNU LGPL altında lisanslanmıştır. Kodun bazı bölümleri BSD 3 Şartları kapsamında lisanslanmıştır. Kodun bazı bölümlerinde unRAR lisanslama kısıtlamaları da vardır.

İndir Adresi:Bağlantı girişi görünür., indirme ve kurulum adımları çıkarılmıştır (bu makale :D:\360Downloads dizinine yüklenmiştir)

7-Zip komut satırı parametreleri şunlardır:


7-Zip 21.07 (x64) : Telif Hakkı (c) 1999-2021 Igor Pavlov : 2021-12-26

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

<Commands>
  a : Arşivlere dosya ekle
  b : Kıyaslama
  d : Arşivden dosyaları sil
  e : Arşivden dosyaları çıkar (dizin adları kullanmadan)
  h : Dosyalar için hash değerlerini hesaplayın
  i : Desteklenen formatlar hakkında bilgi göster
  l : Arşiv içeriği listesi
  rn : Arşivde dosyaları yeniden adlandır
  t : Arşivin test bütünlüğü
  u : Dosyaları arşivlere güncelle
  x : tam yollarla eXtract dosyaları

<Switches>
  -- : Stop anahtarları ve @listfile ayrıştırma
  -ai[r[-|0]]{@listfile|! wildcard} : Arşivleri dahil et
  -ax[r[-|0]]{@listfile|! wildcard} : eXclude arşivleri
  -ao{a|s|t|u} : Üzerine yazma modunu ayar
  -an : archive_name alanı devre dışı bırakır
  -bb[0-3] : çıkış log seviyesini ayarlayın
  -bd : ilerleme göstergesini devre dışı bırakır
  -bs{o|e|p}{0|1|2} : çıktı/hata/ilerleme satırı için çıkış akışını ayar
  -BT : Uygulama süresi istatistiklerini göster
  -i[r[-|0]]{@listfile|! joker kart} : Dosya adlarını da dahil et
  -m{Parametreler} : set sıkıştırma Yöntemi
    -mmt[N] : CPU iş parçacığı sayısı ayarlandı
    -mx[N] : sıkıştırma seviyesini ayarlayın: -mx1 (en hızlı) ... -mx9 (ultra)
  -o{Directory} : Output directory ayar
  -p{Password} : Password ayar
  -r[-|0] : İsim araması için alt dizinleri yeniden sormak
  -sa{a|e|s} : Arşiv adı modunu ayar
  -scc{UTF-8| KAZANIRKEN| DOS} : konsol giriş/çıkışı için karakter seti ayar
  -scs{UTF-8| UTF-16LE| UTF-16BE| KAZANIRKEN| DOS| {id}} : liste dosyaları için karakter seti ayar
  -scrc[CRC32| CRC64| SHA1| SHA256|*] : x, e, h komutları için hash fonksiyonunu ayar
  -sdel : sıkıştırmadan sonra dosyaları sil
  -seml[.] : arşivi e-posta ile gönder
  -sfx[{name}] : SFX arşivi oluştur
  -si[{name}] : STDIN'den veri okuma
  -slp : Büyük Sayfa modunu ayar
  -slt : l (Liste) komutu için teknik bilgileri göster
  -SNH : Sabit bağlantıları bağlantı olarak sakla
  -snl : sembolik bağlantıları bağlantı olarak sakla
  -sni : NT güvenlik bilgilerini depolayın
  -sns[-] : NTFS alternatif akışlarını depolayın
  -yani : stdout'a veri yaz
  -spd : dosya adları için joker eşleştirmeyi devre dışı bırakır
  -spe : Extract komutu için kök klasörün çoğaltmasını ortadan kaldırır
  -spf : tam nitelikli dosya yolları kullanın
  -ssc[-] : hassas durum modunu ayar
  -sse : arşiv oluşturmayı durdurun, eğer bir giriş dosyasını açamıyorsa
  -ssp : arşivlerken kaynak dosyaların Son Erişim Zamanını değiştirmeyin
  -ssw : paylaşılan dosyaları sıkıştır
  -stl : en son değiştirilmiş dosyadan arşiv zaman damgası ayarlan
  -stm{HexMask} : CPU iş parçacığı affinity maskesini ayar (onaltılık sayı)
  -stx{Type} : arşiv türünü hariç tut
  -t{Type} : Arşiv türü
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Güncelleme seçenekleri
  -v{Size}[b|k|m|g] : Hacimler oluşturun
  -w[{path}] : Work dizini ata. Boş yol, geçici bir dizin demektir
  -x[r[-|0]]{@listfile|! wildcard} : eXclude dosya adları
  -y : Tüm sorularda Evet varsayın
7z ile klasörleri sıkıştırın

Komut şöyledir:


-sdel parametresinin eklenmesi nedeniyle, sıkıştırma tamamlandığında zh klasörü otomatik olarak silinir. Aşağıda gösterildiği gibi sıkıştırılmış dosyayı WinRAR ile test edelim:



Dosyayı 7z ile açın

Komut şöyledir:


Dekompresyon aşağıdaki şekilde gösterildiği gibi tamamlanmıştır:



.NET/C# komut satırı üzerinden 7z dekompresyonunu çağırır

.NET/C# kodunu komut satırını çalıştırmak için nasıl kullanabilirim? Kod şöyledir:

(Son)




Önceki:65 kaynak kodu indirme sitesi
Önümüzdeki:[Gerçek dövüş]. NET/C# bir yöntem için zaman aşımına sahip bir zaman çizim süresi belirler
 Ev sahibi| 2022-4-30 tarihinde 17:49:29 tarihinde yayınlandı |
e Dosyaları açın (tüm sıkıştırılmış dosyalar aynı dizine açılır, orijinal dizin yapısı korunmaz)
# Dosyayı mevcut dizine açın
7z e archive.zip
# Dosyayı e:\testunzip dizinine açın
7z e archive.zip -oe:\testunzip
# Tüm PNG dosyalarını e:\testunzip dizinine açın
7z e archive.zip -oe:\testunzip *.png -r

x Dosyayı açın (orijinal dizin yapısını koruyun)
# Dosyayı mevcut dizine açın
7z x archive.zip
# Dosyayı e:\testunzip dizinine açın
7z x archive.zip -oe:\testunzip
# Tüm PNG dosyalarını e:\testunzip dizinine açın
7z x archive.zip -oe:\testunzip *.png -r

l Paketteki tüm dosyaların listesini görüntüleyin
7z l archive.zip

-ao Aynı isimli dosyaların nasıl işlendiği
# -AOA aynı isimli dosyayı üzerine yazar
7z x archive.zip -aoa
# -aos Aynı adlı dosyayı atla
# -aou arşivi aynı isimle yeniden adlandırıyor
# -aot aynı isimle açılmış dizindeki dosyaları yeniden adlandırır

d Paket içindeki dosyaları sil
# .bak eki olan tüm dosyaları sil archive.zip
7z d archive.zip *.bak -r

Rn dosyanın paket içindeki adını değiştirir
# Dosyayı klasör 1.png 1_new.png 2.png yeniden adlandırın\2_new.png
7z rn archive.7z 1.png 1_new.png 2.png folder\2_new.png
2022-4-30 tarihinde yayınlandı 20:05:18 |
Öğrenmeyi öğrenin.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com