我有用于创建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文件,以便他们可以轻松复制或只看到它在哪个目录中创建。
我该怎么做?
答案 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);