Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Сравнение папок из коммандной строки с логом (http://forum.oszone.net/showthread.php?t=218724)

nbds 23-10-2011 23:35 1780263

Сравнение папок из коммандной строки с логом
 
Нужно то-нибудь совсем примитивное, чтобы запускать по расписанию. Содержимое файлов в папках не нужно сравнивать, только их даты и размеры. Лог должен быть совсем примитмвным: или ОК, или не ОК. Если не ОК, то я сравню вручную и определю, какие различия.

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

kiripanda 24-10-2011 00:14 1780280

Код:

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
  )
)


nbds 24-10-2011 01:03 1780297

Изящно!
Но не работает... думаю, проблема вот здесь:
Цитата:

Цитата kiripanda
"0 файл(а,ов)" »

А в англоязычной версии будет "0 file(s)" ?
Но все равно не работает. Фукает и когда папки идентичны, и когда различаются.

kiripanda 24-10-2011 10:19 1780421

что пишет xcopy c:\src z:\dst /dsl на одинаковых папках?

есть источник-назначение или папки должны синхронизироваться при изменении в любой из них?

nbds 24-10-2011 14:22 1780595

Цитата:

Цитата kiripanda
что пишет xcopy c:\src z:\dst /dsl на одинаковых папках? »

Пишет "0 File(s)" и таким образом все работает. Наверное, это case sensitive, потому и не работало.

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

Вообще-то эта проблемя - паранойя моего начальства. Эти две папки синхронизируются с помощью robocopy. Все проверено вручную много раз и все работает, но он хочет запустить еще и дополнительную проверку.

Кстати, если я хочу исключить из проверки несколько файлов, могу ли я пользоваться /EXCLUDE ?

nbds 24-10-2011 21:58 1780931

kiripanda, огромное спасибо! Работает и с /EXCLUDE .


Время: 04:56.

Время: 04:56.
© OSzone.net 2001-