Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сравнение даты изменения

Ответить
Настройки темы
CMD/BAT - [решено] Сравнение даты изменения

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Имеются два сервака с шарами на них почти одновременно падают папки с одинаковым названием. (содержимое разное, совпадает только название папок)
задача:
в том случае если дата изменения папок старше 5 суток - дата последнего изменения на текущем сервере + имя папки + комментарий в файл
если отсутствует папка с таким именем на другом сервере - имя сервера без папки + имя папки + комментарий в файл
и наконец сравнить дату изменения папок с возможной погрешностью в сутки (т.е. если на одной шаре папка была изменена 01.04.2015 а на втором 31.03.2015 - пропускаем, если разница больше - имя сервера с меньшей датой + имя папки + комментарий в файл)

батник будет запускаться на обоих серверах т.е. для каждого запуска эталоном считается текущая машина.

пояснения

т.о. для варианта
\\server1\share\
dir1 - 01.04.2015
dir2 - 01.04.2015
dir3 - 01.04.2015
dir4 - 23.03.2015
dir5 - 31.03.2015


\\server2\share\
dir1 - 28.03.2015
dir2 - 31.03.2015

dir4 - 20.03.2015
dir5 - 01.04.2015

вывод в файл при запуске на server1 будет приблизительно таким:

23.03.2015 - dir4 - папка устарела
server2 - dir3 - папка отсутствует
server2 - dir1 - рассинхронизация папок



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

Отправлено: 17:06, 01-04-2015

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


не смотря на дату размещения топика мне действительно нужна помощь в этой байде.
пока не работает такая штука:
Код: Выделить весь код
@echo off
if exist d:\logs\result.log del /f /q d:\logs\result.log
set ldir=d:\shares
set rdir=\\serv2\shares
pushd=%ldir%
FOR /f %%a IN ('dir * /b /a:d') do (
set da=%%~ta
FOR /f %%b IN ("%rdir%\%%~na") do (
set db=%%~tb

if not %da:~6,4%%da:~3,2%%da:~0,2%==%db:~6,4%%db:~3,2%%db:~0,2% (
if %da:~6,4%%da:~3,2%%da:~0,2% LSS %db:~6,4%%db:~3,2%%db:~0,2% (
echo serv11^\shares^\%%~na not relevant >> d:\logs\result.log ) ELSE (
echo serv22^\shares^\%%~na not relevant >> d:\logs\result.log
))))
popd

Последний раз редактировалось Elven, 06-04-2015 в 16:55.


Отправлено: 12:46, 06-04-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Оставил пока так.
Код: Выделить весь код
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set today=%date:~6,4%%date:~3,2%%date:~0,2%
if exist d:\result.log del /f /q d:\result.log
set ldir=d:\shares\
set rdir=\\serv2\shares
pushd=%ldir%
FOR /f %%a IN ('dir * /b /a:d') do (
set da=%%~ta
set dda=!da:~6,4!!da:~3,2!!da:~0,2!
FOR /f %%b IN ("%rdir%\%%~na") do (
set db=%%~tb
set ddb=!db:~6,4!!db:~3,2!!db:~0,2!
set /a tdda=!dda!+1
if !tdda! GEQ !today! (
if not !dda!==!ddb! (
if !dda! LSS !dd! (
echo serv1^\shares^\%%~na not synchronized >> d:\logs\result.log ) ELSE (
echo serv2^\shares^\%%~na not synchronized >> d:\logs\result.log
)
)
) ELSE (
echo %%~na not relevant >> d:\logs\result.log)
)
)
popd

Отправлено: 13:32, 07-04-2015 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сравнение даты изменения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Сравнение и настройка даты на компьютере Valek271183 Скриптовые языки администрирования Windows 3 18-07-2014 00:44
CMD/BAT - [решено] Сравнение даты изменения файлов и замена старого на новый Tosyk Скриптовые языки администрирования Windows 17 30-11-2012 12:45
CMD/BAT - Сравнение даты SloTiK Скриптовые языки администрирования Windows 3 26-10-2012 19:08
[решено] Запрет изменения даты laro4ka Microsoft Windows 95/98/Me (архив) 3 05-12-2008 14:27
Доступ - [решено] Запрет изменения даты laro4ka Microsoft Windows 2000/XP 1 04-12-2008 10:40




 
Переход