[英]How can i specify string searchPattern using 7z compressor?
這是用於壓縮文件的方法:
private void Compressions(string zipFile,string sources)
{
try
{
string zipFileName = zipFile;
string source = sources;
string output = @"c:\temp";
string programFilesX86 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) + "\\Diagnostic Tool\\7z.dll";
if (File.Exists(programFilesX86))
{
SevenZipExtractor.SetLibraryPath(programFilesX86);
}
else
{
string path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\7z.dll";
SevenZipExtractor.SetLibraryPath(path);
}
string programFiles = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) + "\\Diagnostic Tool\\7z.dll";
if (File.Exists(programFiles))
{
SevenZipExtractor.SetLibraryPath(programFiles);
}
else
{
if (File.Exists(programFilesX86))
{
SevenZipExtractor.SetLibraryPath(programFilesX86);
}
else
{
string path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\7z.dll";
SevenZipExtractor.SetLibraryPath(path);
}
}
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.ArchiveFormat = OutArchiveFormat.Zip;
compressor.CompressionMode = CompressionMode.Create;
compressor.TempFolderPath = System.IO.Path.GetTempPath();
string t = Path.Combine(output, zipFileName);
compressor.CompressDirectory(source, t,"*.txt");
this.explorerWindow = Process.Start("explorer", String.Format("/select,{0}", t));
this.TopMost = true;
}
catch (Exception err)
{
Logger.Write("Zip file error: " + err.ToString());
}
}
這是壓縮的行:
compressor.CompressDirectory(source, t,"*.txt");
我試圖添加“* .txt”,因此它只壓縮文本文件,但壓縮許多其他格式。
當我做:compress.CompressDirectory(source,t,消息說:string searchPattern
我想只壓縮文本文件。
編輯**問題是它壓縮任何類型的文件而不僅僅是文本文件! 搜索模式“* .txt”不起作用,而是僅壓縮文本文件,壓縮任何文件擴展名。
請檢查方法的簽名並確保調用正確的過載。
三個字符串參數重載定義為:
public void CompressDirectory(
string directory, string archiveName,
string password)
您的代碼未提供搜索模式,它設置的密碼為“* .txt”
使用其中一個接受搜索模式的重載,例如:
public void CompressDirectory(
string directory, string archiveName,
string searchPattern, bool recursion)
要么
public void CompressDirectory(
string directory, string archiveName,
string password = "", string searchPattern = "*", bool recursion = true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.