无忧启动论坛

标题: 求个win11可用的磁盘空间清理软件 [打印本页]

作者: temp2005    时间: 2022-4-4 19:14
标题: 求个win11可用的磁盘空间清理软件
用过ccleaner,效果不佳
作者: bobylinger04    时间: 2022-4-4 19:40
Dism++x64
作者: ilikeyi    时间: 2022-4-4 21:22
本帖最后由 ilikeyi 于 2022-4-4 22:45 编辑

直接写一个 PowerShell 不就行了?



新建一个名为:Cleanup.ps1
例如保存到:d:\Cleanup.ps1

打开 Terminal 终端,先绕过 PowerShell 权限,运行:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Force


直接输入以下命令行,运行:
d:\Cleanup.ps1



<#
    代码开始处
#>
<#
        .Disk clean-up
        .磁盘清理
#>
Function Cleanup_Disk
{
        $SageSet = "StateFlags0099"
        $Base = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\"
        $Locations= @(
                "Active Setup Temp Folders"
                "BranchCache"
                "Downloaded Program Files"
                "GameNewsFiles"
                "GameStatisticsFiles"
                "GameUpdateFiles"
                "Internet Cache Files"
                "Memory Dump Files"
                "Offline Pages Files"
                "Old ChkDsk Files"
                "D3D Shader Cache"
                "Delivery Optimization Files"
                "Diagnostic Data Viewer database files"
                "Previous Installations"
                "Recycle Bin"
                "Service Pack Cleanup"
                "Setup Log Files"
                "System error memory dump files"
                "System error minidump files"
                "Temporary Files"
                "Temporary Setup Files"
                "Temporary Sync Files"
                "Thumbnail Cache"
                "Update Cleanup"
                "Upgrade Discarded Files"
                "User file versions"
                "Windows Defender"
                "Windows Error Reporting Archive Files"
                "Windows Error Reporting Queue Files"
                "Windows Error Reporting System Archive Files"
                "Windows Error Reporting System Queue Files"
                "Windows ESD installation files"
                "Windows Upgrade Log Files"
        )

        Foreach ($item in $Locations) {
            Set-ItemProperty -Path $($Base+$item) -Name $SageSet -Type DWORD -Value 2 -ea silentlycontinue | Out-Null
        }

        <#
                .Do the clean-up. Have to convert the SageSet number
                .进行清理。 必须转换 SageSet 编号
        #>
        $Args = "/sagerun:$([string]([int]$SageSet.Substring($SageSet.Length-4)))"
        Start-Process -Wait "$env:SystemRoot\System32\cleanmgr.exe" -ArgumentList $Args

        <#
                .Remove the Stateflags
                .删除状态标志
        #>
        Foreach ($item in $Locations) {
                Remove-ItemProperty -Path $($Base+$item) -Name $SageSet -Force -ea silentlycontinue | Out-Null
        }
}

<#
        .WinSxS slimming
        .WinSxS 瘦身
#>
Function Cleanup_SxS
{
        # 清理组件
        Dism.exe /online /Cleanup-Image /StartComponentCleanup

        # 重置替代组件的基础
        Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
        
        # 删除备份文件
        Dism.exe /online /Cleanup-Image /SPSuperseded
}

<#
        .System logs
        .系统日志
#>
Function Cleanup_System_Log
{
        Get-EventLog -LogName * | ForEach-Object { Clear-EventLog $_.Log }
}

Cleanup_Disk
Cleanup_SxS
Cleanup_System_Log

作者: temp2005    时间: 2022-4-4 22:20
ilikeyi 发表于 2022-4-4 21:22
直接写一个 PowerShell 不就行了?

这个怎么用
作者: 15126222223    时间: 2022-4-4 22:31
我想问这么用。
作者: wszjf    时间: 2022-4-4 22:33
3楼楼主能发个成品吗?
作者: ilikeyi    时间: 2022-4-4 22:45
temp2005 发表于 2022-4-4 22:20
这个怎么用



更新了说明。
作者: temp2005    时间: 2022-4-5 07:28
本帖最后由 temp2005 于 2022-4-5 09:12 编辑
ilikeyi 发表于 2022-4-4 22:45
更新了说明。
命令行运行这个,出错了
Set-ExecutionPolicy -ExecutionPolicy Bypass -Force



作者: temp2005    时间: 2022-4-6 13:12
不知错在哪了
作者: szwp    时间: 2022-4-6 13:26
temp2005 发表于 2022-4-5 07:28
命令行运行这个,出错了Set-ExecutionPolicy -ExecutionPolicy Bypass -Force

...

ps命令打进cmd了。
作者: nowayer    时间: 2023-10-26 23:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: hyyz17200    时间: 2023-10-27 01:30
可以试试自己手动分析,用 Wiztree 看看




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3