Раздача Скрипт для борьбы с разрастанием размеров папок.

Скрипт был написан когда на компьютере работало несколько пользователей, и один из пользователей оставлял на рабочем столе файлы с флэшек и из интернета, не проверяя их размер. В результате размер папки разрастался до неимоверных размеров. И часто на жестком диске оставалось мало места из-за этого.

Что делает скрипт: он сравнивает размер выбранной папки с лимитом (в мегабайтах), и, если размер папки больше - выдает сообщение об этом. Этого напоминания было достаточно, чтобы пользователь удалял ненужные файлы.

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

Инструкция по применению:

Текст скрипта:
[HIDEPL="10,10"]Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
Set Folder = FSO.GetFolder("f:\temp")
nMaxFolderSizeMB = 200
nFoldSizeMB = Folder.Size / 1048576

if nFoldSizeMB > nMaxFolderSize Then
Str = vbNullString
Str = Str & "Размер папки " & Folder.Path & vbCrLf
Str = Str & " - " & Round(nFoldSizeMB,2) & " MB" & vbCrLf
MsgBox Str
End If [/HIDEPL]

В Windows должен быть Windows Scripting Host (по умолчанию, вроде бы и так есть)

Сохраняем текст скрипта в файл с названием, например, CheckFolderSize.vbs в папку, например, C:\Scripts

В строчке nMaxFolderSizeMB = 200 вместо 200 ставим максимальный размер в мегабайтах

В строчке Set Folder = FSO.GetFolder("f:\temp") - f:\temp заменяем на путь отслеживаемой папки.

Добавляем скрипт в автозагрузку.

Как добавить программу в автозагрузку подробно написано здесь: http://remontka.pro/autorun-windows-10/
 

Прочитав название темы, подумал, что текст скрипта - всего одна строка -
images
 

Скрипт крайне простенький. Можно самому написать за несколько минут.
Не потрудились даже ГУИ нарисовать (хотя это не сложно!).
И получается, что для отслеживания сразу нескольких папок нужно несколько копий скрипта?... Херня какая-то...
Кроме того, при уведомлении о том, что размер папки превысил лимит, не мешало бы добавить кнопку "изменить лимит" с всплывающим диалоговым окном, содержащим поле ввода в Мб.
Но есть еще один нюанс, который сводит полезность данной затеи на "нет": что мешает юзверю начать сохранять файлы в другое место, размер которого не проверяется скриптом?
 

Рекламное сообщение
1) Кто-то может сам нарисовать, а кто-то и не может. Не все же умеют программировать
2) ГУИ именно в данном скрипте не был нужен
3) В данном реальном случае - надо было отслеживать одну папку
4) В данном реальном случае - не надо было позволять пользователю менять лимит
5) "сводит полезность данной затеи на нет" - прочтите вниметльно начало темы. В данном случае это не сводило полезность затеи на нет - пользователь удалял ненужные файлы. Если бы со стороны пользователя был бы саботаж - тогда были бы применены иные меры.
 

1) Кто-то может сам нарисовать, а кто-то и не может. Не все же умеют программировать
2) ГУИ именно в данном скрипте не был нужен
3) В данном реальном случае - надо было отслеживать одну папку
4) В данном реальном случае - не надо было позволять пользователю менять лимит
5) "сводит полезность данной затеи на нет" - прочтите вниметльно начало темы. В данном случае это не сводило полезность затеи на нет - пользователь удалял ненужные файлы. Если бы со стороны пользователя был бы саботаж - тогда были бы применены иные меры.
1) Рисовать ГУИ не намного сложнее, чем баловаться в граф. редакторе, зато в разы интереснее (инструментов больше).
2) Конкретно для Вас - скорее всего, не нужен. Но речь же идет не только о Вас (Вы же зачем-то выложили его сюда). Вообще, лично я закоренелый пользователь GNU Linux и вполне спокойно могу обходиться одной консолью, но когда я делаю приложения для Windows, я временно пересаживаю себя на Win7 или Win10 и в обязательном порядке делаю ГУИ ко всем своим программам, потому что в винде так заведено - даже самые маленькие программы управляются при помощи ГУИ. Если ты программируешь под Виндоус (или, как в данном случае, пишешь скрипты - это одно и то же) - в данной ОС не принято сдавать проект без ГУИ. Это канон. Неписанное правило. "В чужой монастырь со своим уставом не ходят", а устав винды предполагает обязательное наличие ГУИ.
3) Ну, мое замечание, скорее, было просто указанием на недостатки данной программы. Согласитесь - было бы совсем не плохо иметь возможность одним скриптом отслеживать сразу несколько папок.
4) Ок. Не надо давать пользователю менять настройки программы? - Не давайте. Добавьте такую возможность администратору.
5) Я бы, на Вашем месте, не был в этом так уверен. :)
Есть десятки способов сохранять свои файлы так, чтобы владелец ПК никогда их не нашел)))
 

Miminoks, понятно, что абсолютно все можно сделать лучше, чем делалось до сих пор. Еще Генри Форд это заметил и сформулировал.

Этот скрипт в моих условиях свою задачу выполнял на 100%. Это многократно проверялось. Потому его здесь выложил - может еще кому-то пригодится.

Данное "программное обеспечение" поставляется "как есть", ну а если кто-то хочет его усовершенствовать - пусть делает это, исходный код как бы открыт.
 

Последнее редактирование:
Miminoks, понятно, что абсолютно все можно сделать лучше, чем делалось до сих пор. Еще Генри Форд это заметил и сформулировал.

Этот скрипт в моих условиях свою задачу выполнял на 100%. Это многократно проверялось. Потому его здесь выложил - может еще кому-то пригодится.

Данное "программное обеспечение" поставляется "как есть", ну а если кто-то хочет его усовершенствовать - пусть делает это, исходный код как бы открыт.
Ну, в целом, позиция понятна.
Просто данный продукт совершенно не подготовлен для конечного пользователя, а исходный код практически не представляет ценности, в виду простоты реализации данной задачи.
Извините, если я показался Вам слишком резким или даже грубым. Я вообще плохо уживаюсь с людьми.
В целом, Ваш посыл мне ясен.
 

Обратите внимание

Назад
Сверху