向用户显示创建文件的最佳方法是什么?

时间:2013-08-04 22:32:16

标签: c#

我有用于创建ZIP文件的代码:

void Compress(string contentDirectory, string zippedFileDirectory)
{
    … // locate 7z.dll and invoke SevenZipExtractor.SetLibraryPath
    SevenZipCompressor compressor = new SevenZipCompressor()
                                    {
                                        ArchiveFormat = OutArchiveFormat.Zip,
                                        CompressionMode = CompressionMode.Create,
                                        TempFolderPath = Path.GetTempPath()
                                    };
    string source = contentDirectory;
    string output = zippedFileDirectory;
    string zipFileName = "Diagnosis_Files.zip";
    string t = Path.Combine(output, zipFileName);
    compressor.CompressDirectory(source, t);
}

compressor.CompressDirectory创建完ZIP文件后,我想向用户显示ZIP文件,以便他们可以轻松复制或只看到它在哪个目录中创建。

我该怎么做?

3 个答案:

答案 0 :(得分:8)

Process.Start("explorer", String.Format("/select,{0}", zipFileName));

Explorer [/n] [/e] [(,)/root,<object>] [/select,<object>]

/n                Opens a new single-pane window for the default
                  selection. This is usually the root of the drive Windows
                   is installed on. If the window is already open, a
                  duplicate opens.

/e                Opens Windows Explorer in its default view.

/root,<object>    Opens a window view of the specified object.


/select,<object>  Opens a window view with the specified folder, file or
                  application selected.

Examples:

   Example 1:     Explorer /select,C:\TestDir\TestApp.exe

      Opens a window view with TestApp selected.

   Example 2:  Explorer /e,/root,C:\TestDir\TestApp.exe

      This opens Explorer with C: expanded and TestApp selected.

   Example 3:  Explorer /root,\\TestSvr\TestShare

      Opens a window view of the specified share.

   Example 4:  Explorer /root,\\TestSvr\TestShare,select,TestApp.exe

      Opens a window view of the specified share with TestApp selected.

答案 1 :(得分:0)

运行“explorer.exe”进程,将目录作为其命令行参数。但是不确定如何以便携方式执行此操作,因此它也适用于Mono。

答案 2 :(得分:0)

方法结尾处的以下行将打开包含文件夹:

Process.Start("explorer.exe", output);