2013-10-21 29 views
0

我是C#的新手,希望得到一些幫助。壓縮文件沒有出現在正確的位置

我有一個Windows控制檯應用程序,電子郵件日誌,並計劃每小時運行。

我想要的是將這些日誌(通過電子郵件發送後)壓縮在同一個文件夾中。即。應用程序正在從中讀取日誌的文件夾。

到目前爲止,這被剪掉了我的代碼。

string[] files = Directory.GetFiles(@"C:\Users\*\Documents\target", "*.txt"); 

try 
{ 
    using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile()) //i'm using dotnetzip lib 
    { 
     foreach (var file in files) 
     { 
      Console.WriteLine(file); 
      sendEMail(file); 

      zip.AddFile(file,"logs"); 
     } 

     zip.Save("mailedFiles.zip"); 
    } 
} 

什麼是與上面的代碼中發生的事情是我能夠創建一個zip文件,而不是在應用程序讀取同一文件夾中。相反,它會在我的程序的位置創建zipfile(這很有意義)。

我該如何去改變創建的zip文件的位置。另外,我希望將單個日誌替換爲創建的一個zip文件。

回答

0

嘗試使用目錄保存它。

例如:

{ 
    string directory = @C:\Users*\Documents\ 
    zip.Save(directory + "mailedFiles.zip"); 
} 

您還應該使用System.IO獲得的目錄,而不是硬編碼他們。

3

您可以將zip文件保存到用戶文件夾中可用的任何特殊文件夾。你可以得到路徑,與下面的代碼行的特殊文件夾:

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 

如果你想節省超過這些特殊文件夾等則可能是權限問題的zip文件。

相關問題