![如何监视文件夹的大小(Windows 7)?](https://linux22.com/image/1567194/%E5%A6%82%E4%BD%95%E7%9B%91%E8%A7%86%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%88Windows%207%EF%BC%89%EF%BC%9F.png)
我正在寻找一种监控文件夹(所有文件和子文件夹)大小的方法。如果达到一定大小,应该会显示某种消息。该消息应在 Windows 从关机、休眠或睡眠状态启动后显示(或以定时间隔 - 至少每天一次)。
我更希望采用一种可以使用标准 Windows 功能、工具或脚本实现的方法。但是如果您知道可以实现此目的的第三方软件,欢迎您提出建议(如果可能的话,请提供屏幕截图和一些说明)。谢谢!
请注意:
如果您建议使用第三方监控软件,请确保它可以监控文件夹大小并触发正确的警报。
如果你建议一个脚本,一个基本的例子就很好了,对我来说已经足够了(这样我就有一个起点来自己创建它)
答案1
使用以下代码创建一个 powershell 脚本:
if((Get-Item \\server\file).length -gt 1.5GB) {
[System.Windows.MessageBox]::Show('Folder X has exceeded 1.5GB')
}
然后创建一个在登录时运行并随后定期调用此脚本的计划任务。
该脚本检查文件或文件夹的大小,如果超过 1.5GB,则会触发一个带有消息的消息框。
答案2
@music2myear 的帖子好多了,但我的方法略有不同。
使用以下内容创建 .ps1(powershell 文件):
$size = ((Get-ChildItem C:\users\ -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum)
if ($size -gt 3.5GB)
{
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("C:\users folder is bigger than 3.5 Gb",0,"Done",0x1)
}
这将生成一个弹出窗口,提示C:\Users
文件夹大于3.5 GB
其他文件夹,否则将不执行任何操作。然后,您可以将此 .ps1 文件弹出到计划任务中,以便在用户登录时执行,或者如果您在域中,则弹出到用户的登录脚本中。(计划任务可能更容易)。