您的位置:

如何优化C盘空间

一、清理垃圾文件

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盘。