Как отслеживать изменения в папках с помощью PowerShell

Работая в Windows, каждый из вас может столкнуться с необходимостью отследить изменения в конкретной папке, причем в режиме онлайн. Для этих целей существуют специальные утилиты вроде FolderChangesView, но можно обойтись и без них, ведь то же самое умеет делать замечательный штатный инструмент PowerShell. Минус его использования разве что в некотором неудобстве и сырости кода скриптов, которые мы предлагаем вам попробовать.

Скачать оба PS1-файла можно по ссылке yadi.sk/d/t6h5bfuUb8tvtg.

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

1Monitor.ps1

Откройте файл «1Monitor.ps1» в Блокноте или интегрированной среде PowerShell ISE (она должна быть встроена в Windows) и отредактируйте значение переменной $pathtomonitor, это и есть путь к отслеживаемому каталогу.

PowerShell ISE

Также вы можете отредактировать переменную $log, содержащую путь к файлу лога, в который станут заноситься изменения.

Теперь запустите скрипт, кликнув по нему ПКМ и выбрав «Выполнить с помощью PowerShell».

Выполнить с помощью PowerShell

Поскольку по умолчанию прямой запуск PS1-скриптов в Windows запрещен, система может попросить вас изменить политику выполнения, для чего в открывшейся консоли нужно будет ввести Y и нажать ввод.

Политика выполнения

После этого начнется выполнение скрипта. Если не хотите менять политики безопасности, просто скопируйте код скрипта от начала до конца и выполните его в запущенной от имени администратора PowerShell. Результат почти тот же самый, разве что в консоли выведется код и шрифт будет помельче.

PowerShell

Теперь создайте для примера в отслеживаемой папке какой-нибудь файл. В консоли тут же появится уведомление о выполненной операции. Отслеживаются только основные изменения — создание/вставка, удаление и переименование.

Отслеживаются

У скрипта «1Monitor.ps1» есть недостаток – при удалении сразу нескольких файлов, он фиксирует удаление только первого из них, поэтому мы рекомендуем использовать более функциональный скрипт «2Monitor.ps1», способный к тому же показывать точное время той или иной операции.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

8 комментариев

  • А если необходимо отслеживать появление файлов в нескольких каталогах, то на каждый каталог запускать свой скрипт? или можно как-то все в одном файле реализовать?

Добавить комментарий для Роман Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *