Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
1

Сравнение содержимого набора файлов

08.10.2012, 15:34. Просмотров 2329. Ответов 4
Метки нет (Все метки)

Есть файлы sp1.* (01-23) и sp2.* (01-23). В них находятся наборы из 6 цифр:
113548
328465
257710
и так далее...

Записи сравниваются между файлами sp1.01 и sp2.01, потом с расширением *.02 и т.д.
Строки из файла sp1.01, которых нет в файле sp2.01 записываются в файл sp_rez.01

Не могу сделать перебор расширений, вот так работать не хочет:

Bash
1
2
3
4
5
6
@echo off
for /l %%a in (01,1,23) do (
     for /f "delims=" %%i in (sp1.%%a) do (
          find "%%i" < sp2.%%a || echo %%i >> sp_rez.%%a
)
)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 15:34
Ответы с готовыми решениями:

Сравнение содержимого набора текстовых файлов
Уважаемые знатоки, не откажите в помощи новичку! Задача такова - необходимо...

Сравнение содержимого двух файлов
Какой командой можно сравнить содержимое двух файлов и вывести результат в...

Сравнение содержимого двух текстовых файлов построчно
Доброго всем дня. Есть три текстовых файла. В первом 1.txt - список &quot;зеленых&quot;...

Проверка существования файлов, создание файлов и вывод содержимого файлов на принтер
Создать BAT-файл который поддерживает создание файлов проверку их и вывод на...

Переименование PDF-файлов в имена, берущиеся из содержимого этих файлов
Всем доброго времени суток!:) Подскажите, пожалуйста, как переименовать файл с...

4
Dragokas
Эксперт WindowsАвтор FAQ
17008 / 7064 / 856
Регистрация: 25.12.2011
Сообщений: 10,881
Записей в блоге: 16
08.10.2012, 16:15 2
С нулем так легко не выкрутится. А так все верно.
Bash
1
2
3
4
5
6
7
8
9
10
@echo off
setlocal EnableDelayedExpansion
for /l %%a in (1,1,23) do (
    if %%a LSS 10 (set ext=0%%a) else (set ext=%%a)
    for /f "delims=" %%i in (sp1.!ext!) do (
          >nul find "%%i" < sp2.!ext! || echo %%i >> sp_rez.!ext!
    )
)
pause>nul
goto :oef
1
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
08.10.2012, 17:41  [ТС] 3
Спасибо! А зачем перенаправление >nul в шестой строке?
Bash
1
 >nul find "%%i"
Добавлено через 13 минут
Почему то пропускает создание результата *.01, начинает со второго и до конца.
А что делает >nul разобрался, но лучше без него, т.к. видно, что что то делается
0
Dragokas
Эксперт WindowsАвтор FAQ
17008 / 7064 / 856
Регистрация: 25.12.2011
Сообщений: 10,881
Записей в блоге: 16
08.10.2012, 20:42 4
Я проверял. У меня все работает правильно. Чем так 01 отличается от всех остальных.
Может содержимое файла особенное. Нужно смотреть. Если не получится, выкладывайте наживку сюда.
Может у Вас там буква О всесто нуля в имени файла.

А если нужно, чтобы что-нибуть показывало, то лучше уж разницу, а не совпадающие записи:
Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
setlocal EnableDelayedExpansion
del /f /q sp_rez.*
for /l %%a in (1,1,23) do (
    if %%a LSS 10 (set ext=0%%a) else (set ext=%%a)
    for /f "delims=" %%i in (sp1.!ext!) do (
          >nul find "%%i" < sp2.!ext! || (echo %%i >> sp_rez.!ext!& echo sp1.!ext! - %%i)
    )
)
pause>nul
goto :oef
1
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
09.10.2012, 11:41  [ТС] 5
Цитата Сообщение от Badger Посмотреть сообщение
пропускает создание результата *.01
Разобрался... перепутал местами сравниваемые файлы ps1 и sp2.
0
09.10.2012, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 11:41

Сравнение содержимого двух папок
Доброго времени суток всем. Помогите написать батник. Сам в этом не селен....

Сравнение содержимого архива и папки
Собственно сабж. Как сравнить содержимое архива и папки? Была мысль создавать 2...

Сравнение файлов в папке и создание папок с именами файлов
Нужно пройтись по папке, если есть картинка с названием, но нет папки с таким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru