Как я могу контролировать размер папки (Windows 7)?

387
Albin

Я ищу способ контролировать размер папки (все файлы и подпапки). Если достигнут определенный размер, должно быть какое-то сообщение. Сообщение должно отображаться после запуска Windows после выключения, спящего режима или сна (или через определенные интервалы времени - по крайней мере, ежедневно).

Я бы предпочел способ, которого можно достичь с помощью стандартных функций Windows, инструментов или сценариев. Но если вы знаете стороннее программное обеспечение, способное сделать это, вы можете предложить его (если возможно, со снимком экрана и небольшим объяснением). Спасибо!

Пожалуйста, обратите внимание:

  • если вы предлагаете стороннее программное обеспечение для мониторинга, убедитесь, что оно может контролировать размер папки и активировать правильный сигнал тревоги.

  • если вы предложите сценарий, простой пример был бы хорош и более чем достаточен для меня (просто у меня есть отправная точка для его создания)

0
Вам нужен Windows Server для создания квот на папки. Для Windows 7 вы можете установить их только на томах ([ссылка] (https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil)). harrymc 6 лет назад 0
@harrymc спасибо, я открываю область применения скриптов ... Albin 6 лет назад 0
Запланированные задачи легко настраиваются на выполнение при входе, выходе из системы и через регулярные промежутки времени. Итак, напишите сценарий, используя любой из распространенных методов (vbscript, batch, powershell), который проверяет размер и уведомляет, когда он превышает заданное количество, и использует запланированные задачи для запуска его с событиями и интервалами по вашему выбору. music2myear 6 лет назад 0
@ music2myear cmd-batch, похоже, не очень хорошо контролирует размер папки, я думаю, что лучше использовать vbscript или powershell. Можно ли планировать задания на сон / хибр. поскольку здесь не используется вход в систему (в моих настройках запрос пароля для повторной активации также отключен)? Albin 6 лет назад 0
Вы можете выбрать триггеры задач на основе множества вещей, в том числе любого события, указанного в окне просмотра событий. music2myear 6 лет назад 0

2 ответа на вопрос

0
music2myear

Создайте скрипт powershell со следующим кодом:

if((Get-Item \\server\file).length -gt 1.5GB) { [System.Windows.MessageBox]::Show('Folder X has exceeded 1.5GB') } 

Затем создайте запланированное задание, которое запускается при входе в систему и через равные промежутки времени после этого вызывает этот сценарий.

Сценарий проверяет размер файла или папки и, если он превышает 1,5 ГБ, он вызывает сообщение с сообщением.

0
Narzard

Пост @ 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 в запланированные задачи, которые будут выполняться при входе пользователя в систему или в сценарии входа для пользователя, если вы находитесь в домене. (Запланированное задание, вероятно, проще).