|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сравнение даты изменения |
|
CMD/BAT - [решено] Сравнение даты изменения
|
Ветеран Сообщения: 992 |
Имеются два сервака с шарами на них почти одновременно падают папки с одинаковым названием. (содержимое разное, совпадает только название папок)
задача: в том случае если дата изменения папок старше 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 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить 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 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить 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 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|