Как выполнить bat скрипт перед гибернацией Windows?
Подобные вещи надо делать в планировщике заданий. Там есть возможность присосаться к огромному числу событий системы. Создавай задачу, выбирай когда выполнять и выбирай что ей делать.
Пуск > Выполнить > gpedit.msc > Конфигурация компьютера (или пользователя) > Конфигурация Windows > Сценарии
хотя до конца не уверен, но про выключением там точно есть, а гибернация как бы тоже способ выключения... :)