J'ai un fichier compressé .rar .7z, .tar et .zip et je veux renommer le nom de fichier physique disponible en compressé ci-dessus en utilisant C #.
J'ai essayé cela en utilisant une bibliothèque sharpcompress mais je ne trouve pas une telle fonctionnalité pour renommer un fichier ou un nom de dossier dans .rar .7z, .tar et .zip.
J'ai également essayé d'utiliser la bibliothèque DotNetZip mais son seul support.Zip voir ce que j'ai essayé d'utiliser la bibliothèque DotNetZip.
private static void RenameZipEntries(string file)
{
try
{
int renameCount = 0;
using (ZipFile zip2 = ZipFile.Read(file))
{
foreach (ZipEntry e in zip2.ToList())
{
if (!e.IsDirectory)
{
if (e.FileName.EndsWith(".txt"))
{
var newname = e.FileName.Split('.')[0] + "_new." + e.FileName.Split('.')[1];
e.FileName = newname;
e.Comment = "renamed";
zip2.Save();
renameCount++;
}
}
}
zip2.Comment = String.Format("This archive has been modified. {0} files have been renamed.", renameCount);
zip2.Save();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Mais en fait, la même chose que ci-dessus, je veux aussi pour .7z, .rar et .tar, j'ai essayé de nombreuses bibliothèques mais je n'ai toujours pas obtenu de solution précise.
Aidez-moi, s'il vous plaît.
var result = Path.ChangeExtension(myffile, ".jpg");
-> docs.microsoft.com/en-us/dotnet/api/…the rename
après l'extraction () en tant quezip
.Réponses:
Il s'agit d'une application console simple pour renommer des fichiers en .zip
la source
Considérez 7zipsharp:
https://www.nuget.org/packages/SevenZipSharp.Net45/
7zip lui-même prend en charge de nombreux formats d'archives (je crois que tout ce que vous avez mentionné) et 7zipsharp utilise le vrai 7zip. J'ai utilisé 7zipsharp pour les fichiers .7z uniquement, mais je parie que cela fonctionne pour les autres.
Voici un exemple de test qui semble renommer un fichier à l'aide de la méthode ModifyArchive, je vous suggère d'y aller à l'école:
https://github.com/squid-box/SevenZipSharp/blob/f2bee350e997b0f4b1258dff520f36409198f006/SevenZip.Tests/SevenZipCompressorTests.cs
Voici le code un peu simplifié. Notez que le test comprime un fichier 7z pour son test; cela n'a pas d'importance, il peut s'agir de .txt, etc. Notez également qu'il trouve le fichier par index dans le dictionnaire passé à ModifyArchive. Consultez la documentation pour savoir comment obtenir cet index à partir d'un nom de fichier (vous devrez peut-être boucler et comparer).
la source