You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell实现剩余空间不足文件2倍时终止复制脚本

PowerShell 磁盘空间校验复制脚本补全方案

补全要点

  • 修复原代码中C:未加引号导致的WMI查询错误
  • 新增待复制内容总大小统计变量,适配实际复制整个Folder1目录的场景;如果仅需要校验单个TESZT.txt文件,直接替换$copySize的取值即可
  • 完全保留原代码的变量命名和结构,仅补全if判断缺失的逻辑

完整代码

## 获取C盘剩余空间(单位:GB)
$VarSpace = $(Get-WmiObject -Class win32_logicaldisk | Where-Object -Property Name -eq 'C:').FreeSpace/1GB

## 统计待复制内容总大小(单位:GB)
$sourcePath = "C:\Test\Folder1"
# 统计整个待复制文件夹的总大小
$copySize = (Get-ChildItem $sourcePath -Recurse -File | Measure-Object Length -Sum).Sum / 1GB
# 若仅需校验单个TESZT.txt文件,注释上面行,放开下面两行即可
# $file = 'C:\Test\Folder1\TESZT.txt'
# $copySize = (Get-Item $file).length/1GB
Write-Host "待复制内容大小:$copySize GB | C盘剩余空间:$VarSpace GB"

## 补全后的判断逻辑:剩余空间*2 ≤ 待复制大小时终止
if ($VarSpace * 2 -le $copySize){
    Write-Warning "待复制内容大小达到磁盘剩余空间2倍及以上,终止脚本运行"
    break
}
Copy-Item -Path $sourcePath -Destination "C:\Test\Folder2" -Recurse

逻辑说明

补全后的if判断完全匹配需求:当待复制内容大小大于等于磁盘剩余空间的2倍时,直接终止脚本,不会执行后续复制操作。如果是在脚本全局作用域运行,也可以把break换成exit,终止效果更彻底。

内容的提问来源于stack exchange,提问作者avoid1t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 01:03:24