![]() |
Сравнить два текстовых файла и вывести результат
Здравствуйте. Может кто - нибудь поможет задачку решить? Есть два txt файла.
пример первого: Код:
tetris0001.avi Код:
File Name.type: 0001google.wmv Выводимый файл формата "№ файла из 1ого тхт по порядку - № файлов из второго тхт, через запятую". Похожие файлы ищутся по размеру, без учёта десятичных (только целое кол-во MB). алгоритм такой: нужно брать каждый файл (по порядку) из 1ого тхт и искать все похожее по размеру во втором тхт, вывести, потом искать похожие для следующего файл и т.д, пока в первом тхт не достигнем конца списка.. Примечания: номера файлов идут всегда по порядку (что в 1ом что во 2ом тхт), и они все четырехзначные. нужно учитывать целое кол во MB, десятичные не нужно учитывать. Если не найдено ничего похожего, то файл из 1ого тхт пропускается. в тхт файлах будет примерно 1000 - 2000 файлов (на каждый файл по 4 строчки) Если брать пример выше, то результирующий тхт должен быть таким: Код:
0001 - 0001, 0005 |
Powershell.
Код:
$txtFile1 = "C:\temp\1.txt" v3 - учтена возможность наличия цифр в расширении |
DJ Mogarych, Спасибо, сейчас буду разбираться с результирующим файлом, он большой получился.. но так и должно быть :)
|
DJ Mogarych, Проверил, у меня так получается, что скрипт сравнивает не только размеры в строке Filesize, но еще и ищет эти числа в строке "File Name.type:", если находит, ставит файл как похожий.. а также если к примеру в 1ом тхт файл 196 MB, а во втором файле попадается 1963 MB, этот файл тоже записывается как похожий.
к примеру изменим тестируемые файлы на 1: Код:
tetris0001.avi Код:
File Name.type: 0001google.wmv Код:
0001 - 0001, 0003, 0004 |
Поправил выше, пробуйте.
|
DJ Mogarych, спасбо, теперь как нужно ищет :)
|
Здравствуйте. А можно ещё вариант скрипта, чтобы учитывался полный размер файла (с десятыми и сотыми), а не только целое число..
т.е. размер может быть вида к примеру: 145 MB 169.63 MB 123.6 MB Похожими файлы будут считаться только если размер полностью совпадает.. |
Уберите из функции в скрипте
Код:
-replace '\..+' |
DJ Mogarych, спасибо, все четко, есть маленький сбой у меня, но это происходит, только если первый файл в 1ом или втором (или в двух) тхт, с расширением mp4. скрипт подставляет к номеру четверку, а потом с этого номера стартует.
вот пример: Код:
tetris0001.mp4 Код:
File Name.type: 0001google.wmv Код:
0014 - 0005 Код:
tetris0001.avi Код:
File Name.type: 0001google.mp4 Код:
0001 - 0018 |
Поправил скрипт выше, пробуйте.
|
DJ Mogarych, спасибо, работает, только проверил :)
|
Здравствуйте еще раз, пока применял скрипт на деле, возникла надобность еще одного варианта, сравнение не по размеру файла, а по длительности, можно ли такое сравнение реализовать?
на примере выглядит так: Код:
tetris0001.avi Код:
File Name.type: 0001google.mp4 Код:
0002 - 0005 |
Время: 06:32. |
Время: 06:32.
© OSzone.net 2001-