CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Ответить
Аватара пользователя
nbds

CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Сообщение nbds »

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



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

Re: CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Сообщение kiripanda »

Код:

Код: Выделить всё

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

Re: CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Сообщение nbds »

Изящно!

Но не работает... думаю, проблема вот здесь:


Цитата kiripanda:



"0 файл(а,ов)"
CMD/BAT - [решено] Сравнение папок из коммандной строки с логом




А в англоязычной версии будет "0 file(s)" ?

Но все равно не работает. Фукает и когда папки идентичны, и когда различаются.
Аватара пользователя
kiripanda

Re: CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Сообщение kiripanda »

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



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

Re: CMD/BAT - [решено] Сравнение папок из коммандной строки с логом

Сообщение kiripanda »

Цитата kiripanda:



что пишет xcopy c:\src z:\dst /dsl на одинаковых папках?
CMD/BAT - [решено] Сравнение папок из коммандной строки с логом




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



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



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



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

Вернуться в «Скриптовые языки администрирования Windows»