C# 从临时文件夹中删除RAR文件?
我目前正在开发的工具,将删除我的临时文件夹中的东西,我已经使它删除文件,如文本文件和文件夹,但我如何使它删除RAR文件和JPG的等?可能吗 这是我当前的代码C# 从临时文件夹中删除RAR文件?,c#,.net,C#,.net,我目前正在开发的工具,将删除我的临时文件夹中的东西,我已经使它删除文件,如文本文件和文件夹,但我如何使它删除RAR文件和JPG的等?可能吗 这是我当前的代码 private void Clear_Click(object sender, EventArgs e) { string tempPath = Path.GetTempPath(); DirectoryInfo di = new DirectoryInfo(tempPath); foreach (Director
private void Clear_Click(object sender, EventArgs e)
{
string tempPath = Path.GetTempPath();
DirectoryInfo di = new DirectoryInfo(tempPath);
foreach (DirectoryInfo dir in di.GetDirectories())
{
try
{
dir.Delete(true);
}
catch (Exception)
{
// Log error.
continue;
}
}
foreach (FileInfo file in di.GetFiles())
{
try
{
file.Delete();
}
catch (Exception)
{
// Log error.
continue;
}
}
}
DirectoryInfo.GetFiles()
可以接受搜索模式参数
foreach (FileInfo file in di.GetFiles("*.jpg"))
{
file.Delete();
}
这将删除扩展名为.jpg
的任何文件。对于.rar
或者,我建议创建一个方法来实现这一点
public void DeleteFiles(DirectoryInfo di, string searchPattern)
{
foreach (FileInfo file in di.GetFiles(searchPattern))
{
file.Delete();
}
}
一旦创建了它,你就可以这样做了
DeleteFiles(di, "*.jpg");
如果你有一个你需要的所有扩展的列表,你可以循环使用它们
string[] extentionList = new[] {"*.jpg", "*.rar", "*.bmp", "*.gif"};
foreach (string extension in extentionList)
{
DeleteFiles(di, extension);
}
如果您将在许多地方使用此方法,那么将其转换为
DirectoryInfo
扩展方法将是最佳选择。DirectoryInfo.GetFiles()可以接受搜索模式参数
foreach (FileInfo file in di.GetFiles("*.jpg"))
{
file.Delete();
}
这将删除扩展名为.jpg
的任何文件。对于.rar
或者,我建议创建一个方法来实现这一点
public void DeleteFiles(DirectoryInfo di, string searchPattern)
{
foreach (FileInfo file in di.GetFiles(searchPattern))
{
file.Delete();
}
}
一旦创建了它,你就可以这样做了
DeleteFiles(di, "*.jpg");
如果你有一个你需要的所有扩展的列表,你可以循环使用它们
string[] extentionList = new[] {"*.jpg", "*.rar", "*.bmp", "*.gif"};
foreach (string extension in extentionList)
{
DeleteFiles(di, extension);
}
如果您将在许多地方使用此方法,那么将其转换为
DirectoryInfo
扩展方法将是最佳选择。上面的代码示例只是删除所有内容,其中也包括RAR文件……您是否收到任何错误?我不明白为什么这段代码只会挑出.txt文件和文件夹。上面的代码示例只是简单地删除所有内容,其中也包括RAR文件…您是否收到任何错误?我不明白为什么这段代码只会挑出.txt文件和文件夹。在您创建的方法中,我将如何实现扩展?例如.rar和.jpgOh我用扩展名创建字符串?@Alexander.Matt是的,只需使用本例中所示的字符串。@MattRowland最后一个问题,创建字符串时,我是否需要在扩展名中包含“.”?或者就像这个字符串jpg,png,rar;您需要*
以及
。这表示搜索模式。如果您正在创建方法。您可以始终使方法连接您创建的方法中的*。
如何实现扩展?例如.rar和.jpgOh我用扩展名创建字符串?@Alexander.Matt是的,只需使用本例中所示的字符串。@MattRowland最后一个问题,创建字符串时,我是否需要在扩展名中包含“.”?或者就像这个字符串jpg,png,rar;您需要*
以及
。这表示搜索模式。如果您正在创建方法。您始终可以使方法连接*。