7
votes

Exemple C # .NET code pour ziper un fichier à l'aide de 7zip

J'ai installé 7-zip 4.65 sur ma machine à C: \ Program Files. Je veux l'utiliser dans C # code pour zip un fichier. Le nom du fichier sera fourni par l'utilisateur de manière dynamique. Quelqu'un peut-il fournir un exemple de code sur l'utilisation 7zip en code C #?


0 commentaires

5 Réponses :



0
votes

ou vous pouvez utiliser la bibliothèque Z # (qui est incluse dans la structure .NET) Un exemple: http://weblogs.asp.net/jgalloway/archive/2007/10/25/creatinting-zip-archives-in-net-without-an-external-libary-Like-sharspziplib .aspx


1 commentaires

J # peut-il faire le format .7z? (OP n'a pas spécifié quel format, mais je sais que 7ZIP par défaut à son propre format, bien que cela puisse faire .zip aussi.)



5
votes

au lieu de la version binaire, vous avez besoin du code source.

Ceci peut être en tant que LZMA SDK .

là, vous trouverez un dossier CS contenant une implémentation C # de l'algorithme pour les fichiers 7ZIP.


0 commentaires

0
votes

Je suppose que si vous souhaitez utiliser l'un installé, vous avez dans C: \ Program Files, vous pouvez simplement utiliser system.diagnostics.process pour exécuter les applications de ligne de commande - http://msdn.microsoft.com/en-us/ Bibliothèque / System.Diagnostics.Process.aspx

Les paramètres de passage sont faciles aussi. Il y a beaucoup d'exemples ici - http://www.c-sharpcorner.com/uploadfile/dipalchoksi/dipalchoksi/ Shellcommandsincs12032005042031am / shellcommandsincs.aspx


0 commentaires

9
votes

beaucoup de réponse indiquée ci-dessus mais j'ai utilisé ce code de mention ci-dessous pour zip ou décompressez un fichier à l'aide de 7ZIP

Vous devez disposer de l'application 7ZIP dans votre système. P>

public void CreateZip()
{
    string sourceName = @"d:\a\example.txt";
    string targetName = @"d:\a\123.zip";
    ProcessStartInfo p = new ProcessStartInfo();
    p.FileName = @"C:\Program Files\7-Zip\7zG.exe";
    p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
    p.WindowStyle = ProcessWindowStyle.Hidden;
    Process x = Process.Start(p);
    x.WaitForExit();
}


3 commentaires

C'est un projet que je travaille en ce moment. Au début, j'ai téléchargé le SDK LZMA à partir du site 7-Zip et j'ai écrit du code à l'aide de la bibliothèque C # de Pavlov pour compresser. Très bien! Ensuite, j'ai réalisé que j'ai simplement eu des fichiers individuels lzma sur mes mains, pas un fichier d'archive 7Z. Pavlov ne fournit aucune bibliothèque C # pour cela. J'ai donc simplement décidé que ce sera le plus facile de faire un processus de processus à 7z.exe. Merci pour votre échantillon, qui va me commencer.


pro.arguments = "x \" "+ source +" \ "-o" + destination; S'il vous plaît, tout le monde peut expliquer que quelle est la signification de (x, ~ o) ces caractères de l'argument


@Apoorvaasthana S'il vous plaît aller vérifier ce lien Sevenzip.osdn.jp/chm/cmdline/ Commandes / Index.htm