2013-10-21 52 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文件。