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

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

bionicmon 23-11-2015 17:02 2578139

Сравнение содержимого 2х текстовых файлов, с выводом отчета
 
Добрый день! Имеются два текстовых файла с перечисленными именами файлов (из одного каталога), необходимо из этих файлов вытянуть разницу, т.е. какие файлы были добавлены, какие были удалены.
Пробую вытянуть таким образом fc /n result.txt result1.txt > otchet.txt
Получаю кракозяблы (не знаю как перекодировать именно текст на выходе в отчете) + ко всему добавляются другие файлы, которые не были добавлены/удалены (выделил черным)
Код:

‘а*ў*Ґ*ЁҐ д*©«®ў result.txt Ё RESULT1.TXT
***** result.txt
    9:  otchet-21.11.2015-13.17 - Є®ЇЁп.log
  10:  pict.bmp

***** RESULT1.TXT
    9:  otchet-21.11.2015-13.17 - Є®ЇЁп.log
  10:  otchet-21.11.2015-13.17.log
  11:  otchet-21.11.2015-13.19.log
  12:  otchet-21.11.2015-13.24.log
  13:  otchet-22.11.2015-12.40.log
  14:  otchet-22.11.2015-12.41.log
  15:  otchet-22.11.2015-12.45.log
  16:  otchet-22.11.2015-12.46.log
  17:  otchet-22.11.2015-12.47.log
  18:  otchet-22.11.2015-12.48.log
  19:  otchet-22.11.2015-12.56.log
  20:  otchet-22.11.2015-13.03.log
  21:  otchet-22.11.2015-16.50.log
  22:  otchet-22.11.2015-19.40.log
  23:  otchet-22.11.2015-19.42.log
  24:  otchet-22.11.2015-19.54.log
  25:  otchet-22.11.2015-22.25.log
  26:  pict.bmp
*****

***** result.txt
  11:  result.txt
  12:  run - Є®ЇЁп.bat
***** RESULT1.TXT
  27:  result.txt
  28:  result1.txt
  29:  run - Є®ЇЁп.bat

*****

Попробовал сделать через
Код:

findstr /l /x /v /g:result.txt result1.txt >otchet.txt
, но он выводит мне результат только при добавлении новых файлов в каталог, когда файлы оттуда удаляются, отчет получается пустым.

Как сделать четкий результирующий отчет, который бы позволял следить за изменением файлов в данной папке за определенный период (неделя, месяц, год)?

Помогите пожалуйста.

Foreigner 23-11-2015 17:36 2578146

Цитата:

Цитата bionicmon
но он выводит мне результат только при добавлении новых файлов в каталог, когда файлы оттуда удаляются, отчет получается пустым. »

Добавьте findstr наоборот:
Код:

@echo off
1>nul chcp 1251

1>отчет.txt (

        echo Новые файлы:
        findstr /v /g:1.txt 2.txt
        echo.
        echo Удаленные файлы:
        findstr /v /g:2.txt 1.txt

)


bionicmon 23-11-2015 18:08 2578156

Цитата:

Цитата Foreigner
Добавьте findstr наоборот: »

Подскажите как это скрестить со скриптом по выводу имен файлов в текстовый файл? (извиняюсь, 2й день за скриптами...)
Скрипт
Скрытый текст
@echo off
mode con codepage select=1251 > nul
if not exist result.txt (dir /p /b /a:-d /t:w > result.txt) else (dir /p /b /a:-d /t:w > result1.txt)
if exist result.txt if exist result1.txt (findstr /l /x /v /g:result.txt result1.txt >otchet.txt )
if exist result.txt if exist result1.txt ( del result.txt)
if exist result1.txt (ren result1.txt result.txt)

Foreigner 23-11-2015 18:16 2578159

Как-то так, если не запутался:
Код:

@echo off
1>nul chcp 1251

if not exist new.txt (1>new.txt dir /b /a-d)
if not exist old.txt (ren new.txt old.txt & goto:eof)

1>result.txt (

        echo Новые файлы:
        findstr /v /g:old.txt new.txt
        echo.
        echo Удаленные файлы:
        findstr /v /g:new.txt old.txt

)
move new.txt old.txt



Время: 11:52.

Время: 11:52.
© OSzone.net 2001-