![](/img/trans.png)
[英]How do you delete all files from the windows Temp folder using C#? (When the processes are running)
[英]Delete files in temp folder in C#
我在 Visual Studio 2015 中工作,我正在使用 C#。所以我創建了 Windows 表單,並添加了一個名為“button1”的按鈕。 我想做的是:當用戶單擊一個按鈕時,位於 C:/temp 的名為(比方說)temp的文件夾的內容被刪除,但temp 文件夾仍然存在。
我試過用這個:
private void button1_Click(object sender, EventArgs e)
{
string strCmdText;
strCmdText = "del /q/f/s %TEMP%\* ";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
}
但是聽說這個方法有用所以就沒用了。 而且還一直拋出異常:“無法識別的轉義序列”。 我還被告知我應該使用 System.IO 命名空間,我也嘗試尋找教程但我沒有發現它們有用。
如果你想刪除臨時文件夾中的所有文件,我會做這樣的事情
var dir = new DirectoryInfo("c:\\temp");
foreach (var file in Directory.GetFiles(dir.ToString()))
{
File.Delete(file);
}
或者,如果您要刪除某些文件或類型,請使用此類內容
foreach (var file in Directory.GetFiles("c:\\temp", "*.xml", SearchOption.AllDirectories))
{
File.Delete(file);
}
string userName = Environment.UserName;
var dir = new DirectoryInfo("C:\\Users\\"+userName+ "\\AppData\\Local\\Temp");
var d = new DirectoryInfo("C:\\Windows\\Temp");
foreach (var file in Directory.GetFiles(d.ToString()))
{
File.Delete(file);
}
順便說一句,它說 Unrecognized Escape Sequence 因為你用錯了斜線。 這應該是這樣的:
string strCmdText;
strCmdText = "del /q/f/s %TEMP%/* ";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.