2013-08-04 3 views
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 файл пользователя, так что они могут легко скопировать его или просто посмотреть, какой каталог он был создан в.

Как я могу это сделать?

+0

'Process.Start' с именем файла должен работать – Sayse

+0

Sayse я попытался это : Process.Start (t); но его просто показывая мне содержимое zip-файла. не то, что я хотел. – DanielVest

+0

О, поэтому вы хотите открыть каталог и показать файлы? – Sayse

ответ

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. 
0

Запустите процесс "explorer.exe", предоставив директорию в качестве аргумента командной строки. Не уверен, однако, как это сделать переносимым образом, так что это будет работать и на Mono.

0

Следующая строка помещается в конце вашего метода будет открыть папку, содержащую:

Process.Start("explorer.exe", output); 
Смежные вопросы