Запуск пакетного скрипта Windows при изменении файла

#windows #batch-file #scripting

#Windows #пакетный файл #сценарии

Вопрос:

В рамках корпоративной политики я вынужден смотреть на уродливые фирменные обои, а изменение вручную отключено, поскольку оно управляется компанией. Я придумал следующий скрипт, который при запуске меняет обои. Он основан на замене файла, который используется темой company.

 set tapeta="C:my_wallpaperBranding.JPG"

copy /Y %tapeta% C:binBrandingWallpaper

rem taskkill /im explorer.exe /f
rem start explorer.exe

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True
 

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

Реальная проблема в том, что управляемая система время от времени заменяет файл обратно — иногда несколько раз в день. Это означает, что мне приходится запускать этот скрипт вручную несколько раз в день. Есть ли способ запустить скрипт при изменении файла? Или есть какой-либо другой способ решить эту проблему?

Приветствия

Комментарии:

1. Возможно, достаточно установить атрибут «только для чтения» для вашего файла. Может быть, и нет, но попробовать стоит.

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

3. Почему вы не используете групповые политики для блокировки этого?

4. @Compo LOL — ваш комментарий фактически побудил меня свернуть все приложения, чтобы взглянуть на мои обои (которые, вероятно, одинаковы годами).

5. Стефан — это было первое, что я сделал, и это не сработало. Compo — я надеюсь, что это второй вариант : D хотя это такая боль в глазах, что достаточно даже одного взгляда время от времени — и я занимаюсь этим в нерабочее время 😉