Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Сравнение содержимого 2х текстовых файлов, с выводом отчета

Ответить
Настройки темы
CMD/BAT - Сравнение содержимого 2х текстовых файлов, с выводом отчета

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: bionicmon
Дата: 25-11-2015
Добрый день! Имеются два текстовых файла с перечисленными именами файлов (из одного каталога), необходимо из этих файлов вытянуть разницу, т.е. какие файлы были добавлены, какие были удалены.
Пробую вытянуть таким образом 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
, но он выводит мне результат только при добавлении новых файлов в каталог, когда файлы оттуда удаляются, отчет получается пустым.

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

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

Отправлено: 17:02, 23-11-2015

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата 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

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:36, 23-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата 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)

Отправлено: 18:08, 23-11-2015 | #3


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Как-то так, если не запутался:
Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:16, 23-11-2015 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Сравнение содержимого 2х текстовых файлов, с выводом отчета

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Сравнение текстовых файлов Speedy Программное обеспечение Windows 9 30-03-2015 02:42
CMD/BAT - [решено] Сравнение содержимого папок и копирование недостающих файлов Laertes Скриптовые языки администрирования Windows 8 14-05-2013 11:34
Любой язык - Копирование текстовых файлов в зависимости от их содержимого Brigadir_33 Скриптовые языки администрирования Windows 1 28-02-2012 08:02
PowerShell - [решено] Сравнение содержимого двух CSV файлов dosperados Скриптовые языки администрирования Windows 7 31-01-2012 10:47
Офис и Текст - Автоматическое сравнение текстовых файлов Kzer-Za Программное обеспечение Windows 4 04-10-2011 11:50




 
Переход