Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Rar archives extracten met C#

Pagina: 1
Acties:

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 17-11 15:47
Ik ben op dit moment bezig met een redelijk grote download van allemaal losse rar archives, deze archives hebben allemaal hetzelfde wachtwoord en zijn dus redelijk makkelijk te extracten, helaas zijn het er tamelijk veel en aangezien ik geen zin heb in rsi (en lui ben) heb ik besloten om in een simpele C# applicatie (omdat ik toevallig vs2008 toch geinstalleerd had) de hele zooi te laten extracten.

Als rar extracter maak ik gebruik van de commandline tool die standaard bij WinRAR zit (Winrar 3.71)

Helaas werkt het nog niet zo als geplanned, op dit moment kan ik wel bestanden extracten maar doet hij alleen maar de eerste 10-15 files en dan blijft hij hangen. Als ik hetzelfde commando in mijn cmd draai werkt het uitstekend en worden alle bestanden uitgepakt....

Aangezien het een vrij sumpel ding is post ik hieronder de code ervan zodat jullie kunnen zien dat ik geen hocus pocus verwacht van deze applicatie :9
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            foreach (string file in Directory.GetFiles(@"MijnBronDir"))
            {
                if (Path.GetExtension(file) == ".rar")
                {
                    //Maak nieuw process aan met de goede parameters
                    //x zorgt ervoor dat hij de submappen reconstrueert
                    //-pbla is het wachtwoord (bla is het wachtwoord -p geeft aan dat er een wachtwoord komt)
                    //file geeft het bestand aan wat hij moet uitpakken en daarna komt de doeldirectory
                    ProcessStartInfo psi = new ProcessStartInfo(@"C:\Program Files\WinRAR\Rar.exe",                        
                        "x -pbla \"" + file +"\" \"" + file.Substring(0,file.Length-4)+"\"\\");
                    
                    psi.RedirectStandardOutput = true;
                    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    psi.UseShellExecute = false;
                    Process listFiles = Process.Start(psi);
                    listFiles.WaitForExit();
                    Console.WriteLine(file + "Extracted");
                }
            }


Ik heb niet zoveel ervaringen c.q. problemen gevonden op het ineternet met de rar tool van winrar, maar hij lijkt me wel goed te werken.... Heeft iemand een oplossing voor dit rare probleem?

Mess with the best, die like the rest


  • danslo
  • Registratie: Januari 2003
  • Laatst online: 13:44
Gooi die commando's in een tekstveld, kopieer ze, maak een nieuwe bestand aan (blah.bat), plak het daar in :P Go :)

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 17-11 15:47
Je wil niet weten hoe dom ik me nu voel }:O

Mess with the best, die like the rest


Verwijderd

cls schreef op maandag 12 mei 2008 @ 17:16:
Gooi die commando's in een tekstveld, kopieer ze, maak een nieuwe bestand aan (blah.bat), plak het daar in :P Go :)
Of schrijf de commando's direct naar een bat file en slinger de batfile hierna aan vanuit je applicatie? :)