Войти

Показать полную графическую версию : Выполнить условие


MI-5
12-02-2018, 13:07
Добрый день. Прочитал эту тему (http://forum.oszone.net/thread-213517.html), но там чёрт с этими условиями ногу сломит.
Задача: в папке C:\Users\1\AppData\Roaming\LAN Messenger есть файл LAN Messenger.ini, а также папка Backup, в которой тоже есть файл LAN Messenger.ini. Требуется проверить размер файла в самой папке и если он отличается от 4096 байт, то заменить его файлом из папки Backup и перезапустить lmc.exe, находящийся по пути c:\Program Files\LAN Messenger\lmc.exe (наверное, на x64 ОС будет c:\Program Files (x86)\LAN Messenger\lmc.exe).

Нашёл только частями:
Заменить файл (для Windows 7):
copy /y "C:\Users\1\AppData\Roaming\LAN Messenger\backup\LAN Messenger.ini" "C:\Users\1\AppData\Roaming\LAN Messenger\LAN Messenger.ini"
Перезапустить программу:
taskkill /f /IM lmc.exe
cd "c:\Program Files\LAN Messenger\"
START lmc.exe
Но требуется повесить этот bat файл в планировщик, чтобы он висел всё время в процессах и каждые например полчаса проверял размер файла. У меня с заменой получилось как-то так:
@echo off
chcp 866 >nul
set time=15
:loop

copy /y "C:\Users\1\AppData\Roaming\LAN Messenger\backup\LAN Messenger.ini" "C:\Users\1\AppData\Roaming\LAN Messenger\LAN Messenger.ini"

ping 127.0.0.1 -n %time% >nul
Goto :loop
Соответственно, как ввести проверку на размер и всё это дело объединить в один файл? Заранее спасибо.

DJ Mogarych
14-02-2018, 20:06
Можно посмотреть в сторону robocopy с ключом /mon, который умеет следить за объектом.




© OSzone.net 2001-2012