Показать полную графическую версию : [решено] Сравнение папок из коммандной строки с логом
Нужно то-нибудь совсем примитивное, чтобы запускать по расписанию. Содержимое файлов в папках не нужно сравнивать, только их даты и размеры. Лог должен быть совсем примитмвным: или ОК, или не ОК. Если не ОК, то я сравню вручную и определю, какие различия.
Если в логе будет больше одной строки, то это сильно затруднит его обработку, потому что я соберу эти логи в один с нескольких десятков серверов. Этот суммарный лог нужно просматривать одним взглядом.
kiripanda
24-10-2011, 00:14
set "src=c:\src"
set "dst=z:\dst"
for /f "delims=" %%a in ('echo n^|xcopy "%src%" "%dst%" /dsl') do (
if "%%a" == "0 файл(а,ов)" (
echo OK "%src%" "%dst%">log.log
) else (
echo FU "%src%" "%dst%">log.log
goto:eof
)
)
Изящно!
Но не работает... думаю, проблема вот здесь:
"0 файл(а,ов)" »
А в англоязычной версии будет "0 file(s)" ?
Но все равно не работает. Фукает и когда папки идентичны, и когда различаются.
kiripanda
24-10-2011, 10:19
что пишет xcopy c:\src z:\dst /dsl на одинаковых папках?
есть источник-назначение или папки должны синхронизироваться при изменении в любой из них?
что пишет xcopy c:\src z:\dst /dsl на одинаковых папках? »
Пишет "0 File(s)" и таким образом все работает. Наверное, это case sensitive, потому и не работало.
Вообще решение очень хорошее, я считал, что нужно пользоваться сторонними программами и даже и не подумал, что этого можно добиться с помощью xcopy.
Вообще-то эта проблемя - паранойя моего начальства. Эти две папки синхронизируются с помощью robocopy. Все проверено вручную много раз и все работает, но он хочет запустить еще и дополнительную проверку.
Кстати, если я хочу исключить из проверки несколько файлов, могу ли я пользоваться /EXCLUDE ?
kiripanda, огромное спасибо! Работает и с /EXCLUDE .
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.