2

我有这个用于创建 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 文件,以便他们可以轻松地复制它或查看它是在哪个目录中创建的。

我怎样才能做到这一点?

4

3 回答 3

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.
于 2013-08-04T22:37:41.090 回答
0

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

于 2013-08-04T22:37:02.523 回答
0

放在方法末尾的以下行将打开包含文件夹:

Process.Start("explorer.exe", output);
于 2013-08-04T22:38:08.627 回答