一部のファイルを zip ファイルに追加して置き換えたいと考えています。つまり、zip が作成された後、それらのファイルはフォルダーに表示されなくなります。
dotNetZip のライブラリを使用してファイルを圧縮できます。しかし、元のファイルはまだそこにあります。すでに圧縮したので、そのフォルダーに入れたくありません。
それらを(file.deleteを使用して)削除しようとしましたが、ファイルがプログラムによって使用されているというエラーが発生しました。
ここに私が書いたものがあります://編集済み
var files = directory.GetFiles("*.csv", SearchOption.AllDirectories);
try
{
using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile())
{
foreach (var file in files)
{
sendEmail.SendMailMessage(file.FullName);
// zip.AddFile(file.FullName);
}
// zip.Save(Path.Combine(filePath,dirDate, "logs.zip"));
}
foreach (var file in files)
{
File.Delete(file.FullName);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
これはばかげているかもしれませんが、私は本当に立ち往生しています。ガイドしてください。
私が得るエラーは次のとおりです。
System.IO.IOException: The process cannot access the file 'D:\***.csv' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Program.Main(String[] args) in d:\Documents\\**