2009-08-22 24 views
12

hatası alıyorum zip dosyaları ayıklamak için çalışırken:Nasıl WinRAR komut satırı ile ZIP dosyalarını ayıklamak için?

c:\path\name.zip is not RAR archive
No files to extract

Benim kodudur:

p.StartInfo.FileName = @"C:\Program Files\WinRAR\rar.exe"; 
p.StartInfo.Arguments = string.Format("x -o- {2} \"{0}\" * \"{1}\"\\ ", 
    szFN, 
    outFolder, 
    passWord == null ? "" : string.Format("-p\"{0}\"", passWord)); 

GUI sürümü zip ve 7z dosyaları elde edebilirsiniz.

Neden bu nasıl çalışıyor? Zip ve 7z dosyalarını nasıl çıkarabilirim?

(NOT: Ben 7zip için farklı kaynak koduna sahip ben ikisini birleştirme ve dosya bir rar uzantısına sahip olduğunda sadece yukarıda kullanmak Ama bu çözüm sevmiyorum sanırım...)

+0

UnRAR.dll COM kütüphanesini kullanmayı deneyin. –

+0

Bu eski bir iş parçacığı ancak burada aynı soruyu sordum. Artık winrar.exe'yi komut satırından kullanabilir ve zip dosyaları ile çalışacaktır. – gwgeller

cevap

5

rar.exe gerçekten sadece rar dosyalarını açabilir. WinRAR ile aynı değil.

.NET ZIP dosyalarını açma için, bunun yerine DotNetZip kütüphanede bakmak isteyebilirsiniz. CSharpZipLib'in aksine ticari yazılımlarla uyumlu bir lisansa sahiptir. siz de RAR desteklemek gerekirse

, sen pinvoke'tur ile UnRAR.dll kullanabilirsiniz:
http://www.rarlab.com/rar_add.htm
http://www.rarlab.com/rar/UnRARDLL.exe

Ya da bu .NET unRAR kitaplığındaki: Belki this one
http://www.chilkatsoft.com/rar-dotnet.asp

için 7zip.

1

Sen Uygulamasında ya SevenZipSharp veya DotNetZip Kütüphane kullanabilirsiniz!

Ama o 7-Zip tarafından desteklenen tüm arşivleri destekler gibi ben SevenZipSharp Lib için gidecek!

Kaynak ve ikili Hem Bağlantılar mevcuttur! ayrıca okumaya

-1
for /f "tokens=*" %G in ('dir /on /b "D:\BACKUP_DATI\EXCEL\OPER*.ZIP"') do "C:\Program Files\7-Zip\7z.exe" x "..\%G" –aoa 

Referanslar: WinRAR desteği sadece RAR arşiv biçimi

+0

Sanırım 7z kullanarak bitirdim ama soru 7z değil winrar kullanmaktı. –

32

Ücretsiz unrar.exe ve konsol versiyonu Rar.exe. Bu, WinRAR'un program dosyaları klasöründe Rar.txt metin dosyası olan Rar.exe için manuel olarak ikinci paragrafta açıklanmıştır.

yerine de destekleyen WinRar.exe kullanmak diğer arşiv formatlarını gerekir:

[path\winrar.exe] x [switches] [path to zip file] [files to extract, . for all files] [path folder to extract to]

Örnek: GUI sürümü WinRAR.exe için

"%ProgramFiles%\WinRAR\winrar.exe" x -ibck c:\file.zip *.* c:\folder\ 

sözdizimi, komutlar ve anahtarlar listelenir ve yardımıyla açıklanmıştır WinRAR. menü öğesini menüde Yardım yardım sekmesi İçindekiler madde Komut satırı modu açık Yardım konularını, tıklayın ve bu öğenin altında listelenen yardım sayfalarını okuyun.

Örneğin anahtar -ibck sadece WinRAR.exe tarafından değil WinRAR Windows sistem tepsisinde bir simge minimize çıkarma yapar GUI versiyonu anlamına arka çıkarma çalıştırmak için olan Rar.exe tarafından desteklenmektedir.

+0

Bu, .zip ve .rar arşivleriyle çalışır. Bu bir cevaptır. – Edgar

İlgili konular