一、清理垃圾文件
1、清理临时文件
我们经常会打开一些文件,这些文件会暂时存储在计算机的临时文件夹中,因此,临时文件夹会变得越来越大。为了清理它们,你可以打开运行,输入“%temp%”并按回车键。这将带你到临时文件夹。选中所有文件夹和文件后,删除它们。这会为你的计算机清理掉大量的空间。
public static void DeleteTemp() { string path = Path.GetTempPath(); DirectoryInfo di = new DirectoryInfo(path); foreach (FileInfo fi in di.GetFiles()) fi.Delete(); foreach (DirectoryInfo subDi in di.GetDirectories()) subDi.Delete(true); }
2、清理下载文件夹
下载文件夹存储着你从互联网上下载的文件。有时候,我们会忘记删除它们并导致它们占据大量地空间。因此,打开你的下载文件夹,选中需要删除的文件并删除。这会为你的计算机释放空间。
public static void DeleteDownloads() { string path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Downloads"; DirectoryInfo di = new DirectoryInfo(path); foreach (FileInfo fi in di.GetFiles()) fi.Delete(); }
3、清理回收站
我们通常会直接把不用的文件或文件夹放入回收站,等待清理。这些文件仍会占用大量的空间,因此应该及时清理回收站以获得更多的空间。
public static void EmptyRecycleBin() { RecycleBin.DeleteAll(); }
二、禁止虚拟内存
1、设置固定内存大小
虚拟内存在计算机中起到了重要的作用,它可以使得我们计算机的运行更加流畅,并支持一些多任务。但是,虚拟内存会占用一个很大的分区 (通常是 C 盘),所以我们需要禁用一些不常用的软件,甚至在一些情况下禁用虚拟内存。在这种情况下,我们可以尝试将虚拟内存调整到最小并且固定大小,这样可以使虚拟空间被完全释放掉。我们可以通过以下方式来设置虚拟内存的大小。
public static void SetVirtualMemory() { ManagementClass managementClass = new ManagementClass("Win32_PageFileSetting"); foreach (ManagementObject managementObject in managementClass.GetInstances()) { if (managementObject["Name"].ToString().Contains("C:")) { ManagementBaseObject inParams = managementObject.GetMethodParameters("SetInitialSize"); ManagementBaseObject outParams = managementObject.InvokeMethod("SetInitialSize", inParams, null); inParams = managementObject.GetMethodParameters("SetMaximumSize"); outParams = managementObject.InvokeMethod("SetMaximumSize", inParams, null); } } }
三、转移大型文件
1、转移到外部硬盘
大文件(如音频、视频和游戏文件)占据大量的计算机存储空间。你可以考虑将这些文件转移到外部硬盘,以节省你计算机的存储空间。
public static void MoveLargeFiles(string sourcePath, string destPath) { DirectoryInfo di = new DirectoryInfo(sourcePath); foreach (FileInfo fi in di.GetFiles()) { if (fi.Length > 100000000) //大于100MB fi.MoveTo(destPath + "\\" + fi.Name); } }
2、使用云存储
云存储是另一种转移大型文件的方法。它允许你将文件存储在互联网上的远程服务器中,而不是本地计算机上。这不仅可以为计算机腾出更多的空间,还可以允许你更加方便地访问你的文件。
public static void UploadToCloud(string filePath, string cloudPath) { CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(); CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(cloudPath); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference(Path.GetFileName(filePath)); using(var fileStream = System.IO.File.OpenRead(filePath)) { blockBlob.UploadFromStream(fileStream); } }
四、卸载不需要的软件
1、使用Windows软件卸载工具
Windows自带了一款非常好用的软件卸载工具。你可以选择从开始菜单中打开控制面板、选择“卸载程序”,从列表中选择你想卸载的程序,并卸载它。这会释放你的计算机的空间。
public static void UninstallProgram(string programName) { string uninstallString = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\").GetValue(programName).ToString(); Process p = new Process(); p.StartInfo.FileName = "msiexec.exe"; p.StartInfo.Arguments = "/x " + uninstallString; p.Start(); }
2、使用IObit Uninstaller
IObit Uninstaller是一款功能强大的卸载工具。它可以卸载不需要的程序并清理程序文件后残留垃圾和注册表文件,以清除你的计算机的存储空间。
public static void UninstallWithIObit(string programName) { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "Uninstaller.exe"; startInfo.Arguments = "/uninstall /quiet " + programName; Process processUninstaller = new Process(); processUninstaller.StartInfo = startInfo; processUninstaller.Start(); processUninstaller.WaitForExit(); }
五、减少文件保留期限
1、如果你有使用Windows备份和还原功能,你计算机上会有大量的备份文件存储着。为了释放空间,你可以缩短这些备份文件的保留期限。
public static void SetBackupRetention() { Process p = new Process(); p.StartInfo.FileName = "wbadmin.exe"; p.StartInfo.Arguments = "delete backup -retention:10"; p.Start(); }
2、减少恢复点占用的空间
Windows的恢复点占用了计算机的巨大空间。如果你不太需要恢复点,你可以选择减少恢复点的大小,以释放计算机的空间。
public static void SetSystemRestore() { WmiContext wmi = new WmiContext(); ManagementScope scope = new ManagementScope(@"\\.\root\default"); // Set restore point disk space usage wmi.UpdateObject(@"SystemRestore\CommandLine", "cmd /c vssadmin Resize ShadowStorage /For=C: /On=C: /Maxsize=1GB"); // Disable system restore for C: wmi.UpdateObject(@"SystemRestore\RestoreSettings", "DisableSR 1"); }
六、清理无用的日志文件
1、Windows系统日志
如果你不太在意系统的日志记录,那么可以删除一些过时的日志文件。你可以通过“应用程序和服务日志管理器”来找到所有系统日志文件,选中需要删除的日志文件并删除它们。
public static void DeleteSystemLogs() { EventLog eventLog = new EventLog("System"); while (eventLog.Entries.Count > 0) { eventLog.Entries[0].Dispose(); } }
2、电子邮件日志
电子邮件日志是我们日常工作中经常涉及的日志。如果你保存了大量的邮件,它们会占用你计算机的存储空间。你可以尝试使用以下工具来删除你不再需要的电子邮件日志。
public static void DeleteEmailLogs() { using (var outlook = new Microsoft.Office.Interop.Outlook.Application()) { var emailLogs = outlook.GetNamespace("MAPI").Folders["Outlook Data File"].Folders["Sent Mail"].Items; foreach (var email in emailLogs) { email.Delete(); } } }
七、结论
计算机存储空间是我们日常工作中非常重要的资源。优化你的计算机可以帮助你最大限度地利用你的存储空间。通过执行以上七个步骤,你可以轻松地释放空间并优化你的C盘。