写论文的神助攻!好用的一键生成论文工具,秒出初稿不费力
2026/7/7 3:06:17
平时想快速查看电脑各硬盘分区总容量、已用空间、剩余空间、剩余占比,手动打开此电脑挨个看很麻烦。
本脚本特性:
<# .SYNOPSIS 统计本机所有本地硬盘分区空间,输出总容量、已用、剩余、剩余占比,带空间颜色预警与整机汇总 #>$ErrorActionPreference="Stop"# 字节转换为GB,保留2位小数functionConvert-ToGB{param([double]$Bytes)if($Bytes-le0-or$null-eq$Bytes){return0}return[Math]::Round($Bytes/1GB,2)}try{Write-Host"正在读取磁盘信息,请稍等..."-ForegroundColor White# 获取本地固定硬盘 DriveType=3 代表本地硬盘$disks=Get-CimInstanceWin32_LogicalDisk-Filter"DriveType=3"Write-Host"`n==================== 磁盘空间统计报告 ===================="-ForegroundColor CyanWrite-Host("{0,-6}{1,-12}{2,-12}{3,-12}{4,-10}"-f"盘符","总容量(GB)","已用(GB)","剩余(GB)","剩余占比")Write-Host"---------------------------------------------------------"-ForegroundColor Gray$totalAllDisk= 0$totalFreeAllDisk= 0foreach($diskin$disks){$driveLetter=$disk.DeviceID$totalBytes=$disk.Size$freeBytes=$disk.FreeSpace$usedBytes=$totalBytes-$freeBytes$totalGB=Convert-ToGB$totalBytes$usedGB=Convert-ToGB$usedBytes$freeGB=Convert-ToGB$freeBytes$freePercent=if($totalGB-gt0){[Math]::Round(($freeGB/$totalGB)*100,1)}else{0}# 根据剩余占比设置文字颜色预警if($freePercent-lt10){$color='Red'}elseif($freePercent-lt20){$color='Yellow'}else{$color='Green'}Write-Host("{0,-6}{1,-12}{2,-12}{3,-12}"-f$driveLetter,$totalGB,$usedGB,$freeGB)-NoNewlineWrite-Host("$freePercent%")-ForegroundColor$color# 累加全局汇总数据$totalAllDisk+=$totalGB$totalFreeAllDisk+=$freeGB}Write-Host"---------------------------------------------------------"-ForegroundColor Gray$totalUsedAll=[Math]::Round($totalAllDisk-$totalFreeAllDisk,2)$totalFreePercent=if($totalAllDisk-gt0){[Math]::Round(($totalFreeAllDisk/$totalAllDisk)*100,1)}else{0}Write-Host("整机汇总 | 总容量:{0}GB 已用:{1}GB 剩余:{2}GB 总剩余占比:{3}%"-f[Math]::Round($totalAllDisk,2),$totalUsedAll,[Math]::Round($totalFreeAllDisk,2),$totalFreePercent)-ForegroundColor CyanWrite-Host"=========================================================`n"}catch{Write-Host"`n【程序执行出错!详细错误信息如下】"-ForegroundColor RedWrite-Host"错误内容:$_"-ForegroundColor Yellow}# 强制暂停窗口,不会自动关闭Write-Host"`n按回车键关闭窗口..."-ForegroundColor GrayRead-Host单独ps1文件直接双击会一闪而过,使用bat调用可强制保留窗口,报错、输出全部可见:
@echo off :: 绕过系统脚本执行策略,不自动关闭PowerShell窗口 powershell -ExecutionPolicy Bypass -NoExit -File "%~dp0磁盘空间查看.ps1"磁盘空间查看.ps1(粘贴powershell代码)启动磁盘统计.bat(粘贴bat代码)启动磁盘统计.bat直接运行,自动读取所有本地硬盘并输出完整报表。正在读取磁盘信息,请稍等... ==================== 磁盘空间统计报告 ==================== 盘符 总容量(GB) 已用(GB) 剩余(GB) 剩余占比 --------------------------------------------------------- C: 200 165.94 34.07 17% D: 19.53 3.08 16.46 84.3% H: 354.23 57.94 296.3 83.6% I: 271.37 245.43 25.94 9.6% M: 28.23 22.39 5.84 20.7% Z: 78.27 23.72 54.56 69.7% --------------------------------------------------------- 整机汇总 | 总容量:951.63GB 已用:518.46GB 剩余:433.17GB 总剩余占比:45.5% ========================================================= 按回车键关闭窗口...Get-CimInstance Win32_LogicalDisk,读取系统原生磁盘容量字段,数据精准。C:,不能带\,脚本直接使用CIM实例过滤,避开拼接SQL语句产生的语法错误。-NoExit参数强制窗口停留;脚本末尾增加Read-Host双重暂停。-ExecutionPolicy Bypass,临时绕过执行策略,无需手动修改系统策略。Windows10 / Windows11 全版本,无需管理员权限即可运行。