Saya memiliki file terkompresi .rar .7z, .tar dan .zip dan saya ingin mengganti nama file fisik yang tersedia di arsip terkompresi di atas menggunakan C #.
Saya telah mencoba ini menggunakan pustaka sharpcompress tetapi saya tidak dapat menemukan fitur seperti itu untuk mengganti nama file atau nama folder dalam file .rar .7z, .tar dan .zip.
Saya juga telah mencoba menggunakan perpustakaan DotNetZip tetapi satu-satunya dukungan. Zip melihat apa yang saya coba menggunakan perpustakaan 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());
}
}
Tetapi sebenarnya sama seperti di atas saya juga ingin untuk .7z, .rar dan .tar, Saya mencoba banyak perpustakaan tetapi masih saya tidak mendapatkan solusi yang akurat.
Tolong bantu aku.
var result = Path.ChangeExtension(myffile, ".jpg");
-> docs.microsoft.com/en-us/dotnet/api/…the rename
setelah Extract () aszip
.Jawaban:
Ini adalah aplikasi konsol sederhana untuk mengganti nama file di .zip
sumber
Pertimbangkan 7zipsharp:
https://www.nuget.org/packages/SevenZipSharp.Net45/
7zip sendiri mendukung banyak format arsip (saya percaya semua yang Anda sebutkan) dan 7zipsharp menggunakan 7zip yang asli. Saya telah menggunakan 7zipsharp hanya untuk file .7z tapi saya yakin itu bekerja untuk orang lain.
Berikut contoh tes yang muncul untuk mengubah nama file menggunakan metode ModifyArchive, saya sarankan Anda pergi ke sekolah di dalamnya:
https://github.com/squid-box/SevenZipSharp/blob/f2bee350e997b0f4b1258dff520f36409198f006/SevenZip.Tests/SevenZipCompressorTests.cs
Ini kode yang disederhanakan sedikit. Perhatikan bahwa tes memampatkan file 7z untuk pengujiannya; itu tidak penting itu bisa .txt, dll. Juga perhatikan itu menemukan file dengan indeks dalam kamus diteruskan ke ModifyArchive. Konsultasikan dokumentasi untuk cara mendapatkan indeks itu dari nama file (mungkin Anda harus mengulang dan membandingkan).
sumber